--- /dev/null
- margin: 12px 18px 0; }
+/* This stylesheet is generated, DO NOT EDIT */
+/* Copyright 2009, 2015 Red Hat, Inc.
+ *
+ * Portions adapted from Mx's data/style/default.css
+ * Copyright 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+/* Global Values */
+stage {
+ font-size: 1em;
+ color: #ffffff; }
+
+/* Common Stylings */
+#dash .dash-item-container .show-apps,
+#dash .dash-item-container .overview-tile,
+#dash .dash-item-container .grid-search-result {
+ background: none;
+ box-shadow: none;
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0; }
+
+.app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result, .app-folder, .overview-tile, .grid-search-result, #dash .dash-item-container .show-apps .overview-icon,
+#dash .dash-item-container .overview-tile .overview-icon,
+#dash .dash-item-container .grid-search-result .overview-icon, .list-search-result, .search-provider-icon, .switcher-list .item-box, .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ border-radius: 16px;
+ padding: 6px;
+ spacing: 6px;
+ text-align: center;
+ transition-duration: 100ms; }
+
+.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item, .login-dialog .login-dialog-auth-list-item, .login-dialog-not-listed-button, .unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button, .unlock-dialog .login-dialog-auth-list-item, #LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button, #LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button, .icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ border-radius: 8px;
+ padding: 3px 24px;
+ font-weight: bold;
+ transition: border-width 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #36363a, 9%); }
+ .icon-button:focus, .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus, .screenshot-ui-show-pointer-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus, .message-notification-group .message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #36363a, 9%), 5%); }
+ .icon-button:focus:hover, .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover, .message-notification-group .message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #36363a, 9%), 4%), 5%); }
+ .icon-button:hover, .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .screenshot-ui-show-pointer-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover, .message-notification-group .message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #36363a, 9%), 4%); }
+ .icon-button:insensitive, .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive, .screenshot-ui-show-pointer-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive, .message-notification-group .message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #36363a, 9%), 3%); }
+ .icon-button:selected, .login-dialog-button.a11y-button:selected, .login-dialog-button.cancel-button:selected, .login-dialog-button.switch-user-button:selected, .login-dialog-button.login-dialog-session-list-button:selected, .screenshot-ui-show-pointer-button:selected, .message .message-header .message-expand-button:selected,
+ .message .message-header .message-close-button:selected, .message-notification-group .message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button:selected, .icon-button:active, .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active, .screenshot-ui-show-pointer-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active, .message-notification-group .message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #36363a, 9%), 9%); }
+ .icon-button:selected:hover, .login-dialog-button.a11y-button:selected:hover, .login-dialog-button.cancel-button:selected:hover, .login-dialog-button.switch-user-button:selected:hover, .login-dialog-button.login-dialog-session-list-button:selected:hover, .screenshot-ui-show-pointer-button:selected:hover, .message .message-header .message-expand-button:selected:hover,
+ .message .message-header .message-close-button:selected:hover, .message-notification-group .message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button:selected:hover, .icon-button:active:hover, .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover, .screenshot-ui-show-pointer-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover, .message-notification-group .message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 9%), 4%); }
+ .icon-button:selected:focus, .login-dialog-button.a11y-button:selected:focus, .login-dialog-button.cancel-button:selected:focus, .login-dialog-button.switch-user-button:selected:focus, .login-dialog-button.login-dialog-session-list-button:selected:focus, .screenshot-ui-show-pointer-button:selected:focus, .message .message-header .message-expand-button:selected:focus,
+ .message .message-header .message-close-button:selected:focus, .message-notification-group .message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button:selected:focus, .icon-button:active:focus, .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus, .screenshot-ui-show-pointer-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus, .message-notification-group .message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #36363a, 9%), 9%), 5%); }
+ .icon-button:checked, .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked, .screenshot-ui-show-pointer-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked, .message-notification-group .message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #36363a, 9%), 8%); }
+ .icon-button:checked:hover, .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover, .message-notification-group .message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 4%); }
+ .icon-button:checked:active, .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .screenshot-ui-show-pointer-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active, .message-notification-group .message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 9%); }
+
+.calendar .calendar-day-heading, .calendar .calendar-day, .calendar .calendar-month-header .calendar-month-label, .icon-button.flat, .flat.login-dialog-button.a11y-button, .flat.login-dialog-button.cancel-button, .flat.login-dialog-button.switch-user-button, .flat.login-dialog-button.login-dialog-session-list-button, .flat.screenshot-ui-show-pointer-button, .message .message-header .flat.message-expand-button,
+.message .message-header .flat.message-close-button, .message-notification-group .flat.message-collapse-button, .calendar .calendar-month-header .pager-button, .button.flat {
+ color: #ffffff;
+ background-color: #36363a; }
+ .calendar .calendar-day-heading:focus, .calendar .calendar-day:focus, .calendar .calendar-month-header .calendar-month-label:focus, .icon-button.flat:focus, .flat.login-dialog-button.a11y-button:focus, .flat.login-dialog-button.cancel-button:focus, .flat.login-dialog-button.switch-user-button:focus, .flat.login-dialog-button.login-dialog-session-list-button:focus, .flat.screenshot-ui-show-pointer-button:focus, .message .message-header .flat.message-expand-button:focus,
+ .message .message-header .flat.message-close-button:focus, .message-notification-group .flat.message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button.flat:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(54, 54, 58, 0.25), 5%); }
+ .calendar .calendar-day-heading:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .calendar-month-label:focus:hover, .icon-button.flat:focus:hover, .flat.login-dialog-button.a11y-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .flat.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .flat.message-expand-button:focus:hover,
+ .message .message-header .flat.message-close-button:focus:hover, .message-notification-group .flat.message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button.flat:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#36363a, 7%), 5%); }
+ .calendar .calendar-day-heading:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .calendar-month-label:hover, .icon-button.flat:hover, .flat.login-dialog-button.a11y-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .flat.screenshot-ui-show-pointer-button:hover, .message .message-header .flat.message-expand-button:hover,
+ .message .message-header .flat.message-close-button:hover, .message-notification-group .flat.message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button.flat:hover {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 7%); }
+ .calendar .calendar-day-heading:insensitive, .calendar .calendar-day:insensitive, .calendar .calendar-month-header .calendar-month-label:insensitive, .icon-button.flat:insensitive, .flat.login-dialog-button.a11y-button:insensitive, .flat.login-dialog-button.cancel-button:insensitive, .flat.login-dialog-button.switch-user-button:insensitive, .flat.login-dialog-button.login-dialog-session-list-button:insensitive, .flat.screenshot-ui-show-pointer-button:insensitive, .message .message-header .flat.message-expand-button:insensitive,
+ .message .message-header .flat.message-close-button:insensitive, .message-notification-group .flat.message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button.flat:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #36363a; }
+ .calendar .calendar-day-heading:selected, .calendar .calendar-day:selected, .calendar .calendar-month-header .calendar-month-label:selected, .icon-button.flat:selected, .flat.login-dialog-button.a11y-button:selected, .flat.login-dialog-button.cancel-button:selected, .flat.login-dialog-button.switch-user-button:selected, .flat.login-dialog-button.login-dialog-session-list-button:selected, .flat.screenshot-ui-show-pointer-button:selected, .message .message-header .flat.message-expand-button:selected,
+ .message .message-header .flat.message-close-button:selected, .message-notification-group .flat.message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button.flat:selected, .calendar .calendar-day-heading:active, .calendar .calendar-day:active, .calendar .calendar-month-header .calendar-month-label:active, .icon-button.flat:active, .flat.login-dialog-button.a11y-button:active, .flat.login-dialog-button.cancel-button:active, .flat.login-dialog-button.switch-user-button:active, .flat.login-dialog-button.login-dialog-session-list-button:active, .flat.screenshot-ui-show-pointer-button:active, .message .message-header .flat.message-expand-button:active,
+ .message .message-header .flat.message-close-button:active, .message-notification-group .flat.message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button.flat:active {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 9%); }
+ .calendar .calendar-day-heading:selected:hover, .calendar .calendar-day:selected:hover, .calendar .calendar-month-header .calendar-month-label:selected:hover, .icon-button.flat:selected:hover, .flat.login-dialog-button.a11y-button:selected:hover, .flat.login-dialog-button.cancel-button:selected:hover, .flat.login-dialog-button.switch-user-button:selected:hover, .flat.login-dialog-button.login-dialog-session-list-button:selected:hover, .flat.screenshot-ui-show-pointer-button:selected:hover, .message .message-header .flat.message-expand-button:selected:hover,
+ .message .message-header .flat.message-close-button:selected:hover, .message-notification-group .flat.message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button.flat:selected:hover, .calendar .calendar-day-heading:active:hover, .calendar .calendar-day:active:hover, .calendar .calendar-month-header .calendar-month-label:active:hover, .icon-button.flat:active:hover, .flat.login-dialog-button.a11y-button:active:hover, .flat.login-dialog-button.cancel-button:active:hover, .flat.login-dialog-button.switch-user-button:active:hover, .flat.login-dialog-button.login-dialog-session-list-button:active:hover, .flat.screenshot-ui-show-pointer-button:active:hover, .message .message-header .flat.message-expand-button:active:hover,
+ .message .message-header .flat.message-close-button:active:hover, .message-notification-group .flat.message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button.flat:active:hover {
+ background-color: st-lighten(st-lighten(#36363a, 9%), 7%); }
+ .calendar .calendar-day-heading:selected:focus, .calendar .calendar-day:selected:focus, .calendar .calendar-month-header .calendar-month-label:selected:focus, .icon-button.flat:selected:focus, .flat.login-dialog-button.a11y-button:selected:focus, .flat.login-dialog-button.cancel-button:selected:focus, .flat.login-dialog-button.switch-user-button:selected:focus, .flat.login-dialog-button.login-dialog-session-list-button:selected:focus, .flat.screenshot-ui-show-pointer-button:selected:focus, .message .message-header .flat.message-expand-button:selected:focus,
+ .message .message-header .flat.message-close-button:selected:focus, .message-notification-group .flat.message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button.flat:selected:focus, .calendar .calendar-day-heading:active:focus, .calendar .calendar-day:active:focus, .calendar .calendar-month-header .calendar-month-label:active:focus, .icon-button.flat:active:focus, .flat.login-dialog-button.a11y-button:active:focus, .flat.login-dialog-button.cancel-button:active:focus, .flat.login-dialog-button.switch-user-button:active:focus, .flat.login-dialog-button.login-dialog-session-list-button:active:focus, .flat.screenshot-ui-show-pointer-button:active:focus, .message .message-header .flat.message-expand-button:active:focus,
+ .message .message-header .flat.message-close-button:active:focus, .message-notification-group .flat.message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button.flat:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#36363a, 9%), 5%); }
+ .calendar .calendar-day-heading:checked, .calendar .calendar-day:checked, .calendar .calendar-month-header .calendar-month-label:checked, .icon-button.flat:checked, .flat.login-dialog-button.a11y-button:checked, .flat.login-dialog-button.cancel-button:checked, .flat.login-dialog-button.switch-user-button:checked, .flat.login-dialog-button.login-dialog-session-list-button:checked, .flat.screenshot-ui-show-pointer-button:checked, .message .message-header .flat.message-expand-button:checked,
+ .message .message-header .flat.message-close-button:checked, .message-notification-group .flat.message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button.flat:checked {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 8%); }
+ .calendar .calendar-day-heading:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .calendar-month-label:checked:hover, .icon-button.flat:checked:hover, .flat.login-dialog-button.a11y-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .flat.screenshot-ui-show-pointer-button:checked:hover, .message .message-header .flat.message-expand-button:checked:hover,
+ .message .message-header .flat.message-close-button:checked:hover, .message-notification-group .flat.message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button.flat:checked:hover {
+ background-color: st-lighten(st-lighten(#36363a, 8%), 7%); }
+ .calendar .calendar-day-heading:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .calendar-month-label:checked:active, .icon-button.flat:checked:active, .flat.login-dialog-button.a11y-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .flat.screenshot-ui-show-pointer-button:checked:active, .message .message-header .flat.message-expand-button:checked:active,
+ .message .message-header .flat.message-close-button:checked:active, .message-notification-group .flat.message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button.flat:checked:active {
+ background-color: st-lighten(st-lighten(#36363a, 8%), 9%); }
+
+.keyboard-brightness-level .button:checked, .quick-toggle:checked, .calendar .calendar-day.calendar-today, .icon-button.default, .default.login-dialog-button.a11y-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .default.screenshot-ui-show-pointer-button, .message .message-header .default.message-expand-button,
+.message .message-header .default.message-close-button, .message-notification-group .default.message-collapse-button, .calendar .calendar-month-header .default.pager-button, .button.default {
+ color: -st-accent-fg-color;
+ background-color: -st-accent-color; }
+ .keyboard-brightness-level .button:focus:checked, .quick-toggle:focus:checked, .calendar .calendar-day.calendar-today:focus, .icon-button.default:focus, .default.login-dialog-button.a11y-button:focus, .default.login-dialog-button.cancel-button:focus, .default.login-dialog-button.switch-user-button:focus, .default.login-dialog-button.login-dialog-session-list-button:focus, .default.screenshot-ui-show-pointer-button:focus, .message .message-header .default.message-expand-button:focus,
+ .message .message-header .default.message-close-button:focus, .message-notification-group .default.message-collapse-button:focus, .calendar .calendar-month-header .default.pager-button:focus, .button.default:focus {
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-lighten(-st-accent-color, 30%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), -st-accent-color, 5%); }
+ .keyboard-brightness-level .button:focus:hover:checked, .quick-toggle:focus:hover:checked, .calendar .calendar-day.calendar-today:focus:hover, .icon-button.default:focus:hover, .default.login-dialog-button.a11y-button:focus:hover, .default.login-dialog-button.cancel-button:focus:hover, .default.login-dialog-button.switch-user-button:focus:hover, .default.login-dialog-button.login-dialog-session-list-button:focus:hover, .default.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .default.message-expand-button:focus:hover,
+ .message .message-header .default.message-close-button:focus:hover, .message-notification-group .default.message-collapse-button:focus:hover, .calendar .calendar-month-header .default.pager-button:focus:hover, .button.default:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(-st-accent-color, 4%), 5%); }
+ .keyboard-brightness-level .button:hover:checked, .quick-toggle:hover:checked, .calendar .calendar-day.calendar-today:hover, .icon-button.default:hover, .default.login-dialog-button.a11y-button:hover, .default.login-dialog-button.cancel-button:hover, .default.login-dialog-button.switch-user-button:hover, .default.login-dialog-button.login-dialog-session-list-button:hover, .default.screenshot-ui-show-pointer-button:hover, .message .message-header .default.message-expand-button:hover,
+ .message .message-header .default.message-close-button:hover, .message-notification-group .default.message-collapse-button:hover, .calendar .calendar-month-header .default.pager-button:hover, .button.default:hover {
+ color: -st-accent-fg-color;
+ background-color: st-lighten(-st-accent-color, 4%); }
+ .keyboard-brightness-level .button:insensitive:checked, .quick-toggle:insensitive:checked, .calendar .calendar-day.calendar-today:insensitive, .icon-button.default:insensitive, .default.login-dialog-button.a11y-button:insensitive, .default.login-dialog-button.cancel-button:insensitive, .default.login-dialog-button.switch-user-button:insensitive, .default.login-dialog-button.login-dialog-session-list-button:insensitive, .default.screenshot-ui-show-pointer-button:insensitive, .message .message-header .default.message-expand-button:insensitive,
+ .message .message-header .default.message-close-button:insensitive, .message-notification-group .default.message-collapse-button:insensitive, .calendar .calendar-month-header .default.pager-button:insensitive, .button.default:insensitive {
+ color: st-transparentize(-st-accent-fg-color, 0.5);
+ background-color: st-darken(-st-accent-color, 3%); }
+ .keyboard-brightness-level .button:active:checked, .quick-toggle:active:checked, .calendar .calendar-day.calendar-today:active, .icon-button.default:active, .default.login-dialog-button.a11y-button:active, .default.login-dialog-button.cancel-button:active, .default.login-dialog-button.switch-user-button:active, .default.login-dialog-button.login-dialog-session-list-button:active, .default.screenshot-ui-show-pointer-button:active, .message .message-header .default.message-expand-button:active,
+ .message .message-header .default.message-close-button:active, .message-notification-group .default.message-collapse-button:active, .calendar .calendar-month-header .default.pager-button:active, .button.default:active {
+ color: -st-accent-fg-color;
+ background-color: st-lighten(-st-accent-color, 9%); }
+ .keyboard-brightness-level .button:active:hover:checked, .quick-toggle:active:hover:checked, .calendar .calendar-day.calendar-today:active:hover, .icon-button.default:active:hover, .default.login-dialog-button.a11y-button:active:hover, .default.login-dialog-button.cancel-button:active:hover, .default.login-dialog-button.switch-user-button:active:hover, .default.login-dialog-button.login-dialog-session-list-button:active:hover, .default.screenshot-ui-show-pointer-button:active:hover, .message .message-header .default.message-expand-button:active:hover,
+ .message .message-header .default.message-close-button:active:hover, .message-notification-group .default.message-collapse-button:active:hover, .calendar .calendar-month-header .default.pager-button:active:hover, .button.default:active:hover {
+ background-color: st-lighten(st-lighten(-st-accent-color, 9%), 4%); }
+ .keyboard-brightness-level .button:active:focus:checked, .quick-toggle:active:focus:checked, .calendar .calendar-day.calendar-today:active:focus, .icon-button.default:active:focus, .default.login-dialog-button.a11y-button:active:focus, .default.login-dialog-button.cancel-button:active:focus, .default.login-dialog-button.switch-user-button:active:focus, .default.login-dialog-button.login-dialog-session-list-button:active:focus, .default.screenshot-ui-show-pointer-button:active:focus, .message .message-header .default.message-expand-button:active:focus,
+ .message .message-header .default.message-close-button:active:focus, .message-notification-group .default.message-collapse-button:active:focus, .calendar .calendar-month-header .default.pager-button:active:focus, .button.default:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(-st-accent-color, 9%), 5%); }
+
+.popup-sub-menu .popup-menu-item, .popup-menu-item {
+ font-weight: normal;
+ spacing: 6px;
+ transition-duration: 100ms;
+ padding: 9px 12px; }
+
+#LookingGlassExtensions .lg-extension, #LookingGlassWindows .lg-window, .calendar, .datemenu-today-button, .quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ border-radius: 12px;
+ padding: 0.818em;
+ margin: 4px;
+ background-color: #47474c;
+ box-shadow: 0 1px 2px 0 transparent;
+ border: 1px solid transparent; }
+
+.quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ color: #ffffff;
+ background-color: #47474c; }
+ .quick-toggle-menu:hover, .message:hover, .events-button:hover,
+ .world-clocks-button:hover,
+ .weather-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(#47474c, 4%); }
+ .quick-toggle-menu:active, .message:active, .events-button:active,
+ .world-clocks-button:active,
+ .weather-button:active {
+ color: #ffffff;
+ background-color: st-lighten(#47474c, 9%); }
+ .quick-toggle-menu:active:hover, .message:active:hover, .events-button:active:hover,
+ .world-clocks-button:active:hover,
+ .weather-button:active:hover {
+ background-color: st-lighten(st-lighten(#47474c, 9%), 4%); }
+ .quick-toggle-menu:active:focus, .message:active:focus, .events-button:active:focus,
+ .world-clocks-button:active:focus,
+ .weather-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#47474c, 9%), 5%); }
+ .quick-toggle-menu:focus, .message:focus, .events-button:focus,
+ .world-clocks-button:focus,
+ .weather-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #47474c, 5%); }
+ .quick-toggle-menu:focus:hover, .message:focus:hover, .events-button:focus:hover,
+ .world-clocks-button:focus:hover,
+ .weather-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#47474c, 4%), 5%); }
+ .quick-toggle-menu:insensitive, .message:insensitive, .events-button:insensitive,
+ .world-clocks-button:insensitive,
+ .weather-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(#47474c, 3%); }
+
+.calendar, .datemenu-today-button {
+ border: 1px solid transparent !important;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ background-color: transparent !important; }
+ .calendar:hover, .datemenu-today-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 7%); }
+ .calendar:active, .datemenu-today-button:active {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 9%); }
+ .calendar:active:hover, .datemenu-today-button:active:hover {
+ background-color: st-lighten(st-lighten(#36363a, 9%), 7%); }
+ .calendar:active:focus, .datemenu-today-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#36363a, 9%), 5%); }
+ .calendar:focus, .datemenu-today-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #47474c, 5%); }
+ .calendar:focus:hover, .datemenu-today-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#47474c, 4%), 5%); }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(#47474c, 3%); }
+
+.unlock-dialog .login-dialog-prompt-entry, .login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry, .lg-dialog StEntry, StEntry {
+ border-radius: 8px;
+ padding: 9px 9px;
+ selection-background-color: st-transparentize(-st-accent-color, 0.7);
+ selected-color: #ffffff; }
+
+StEntry {
+ background-color: #48484c;
+ color: rgba(255, 255, 255, 0.7); }
+ StEntry:hover {
+ background-color: #525256;
+ color: #ffffff; }
+ StEntry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #48484c, 5%);
+ color: #ffffff; }
+ StEntry:insensitive {
+ background-color: #414144;
+ color: rgba(255, 255, 255, 0.5); }
+ StEntry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+.notification-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button {
+ font-weight: bold;
+ padding: 6px 12px;
+ border-radius: 8px;
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.15); }
+ .notification-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.15), 5%); }
+ .notification-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.3), 5%); }
+ .notification-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.3); }
+ .notification-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.2); }
+ .notification-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .notification-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.2), 5%); }
+ .notification-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #36363a, 9%), 8%); }
+ .notification-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 4%); }
+ .notification-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 9%); }
+ .notification-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: rgba(255, 255, 255, 0.1); }
+
+.modal-dialog .modal-dialog-button-box .modal-dialog-button {
+ font-weight: bold;
+ padding: 12px;
+ border-radius: 12px;
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.1); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.1), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.13), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:hover {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.13); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.16); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:hover {
+ background-color: rgba(255, 255, 255, 0.19); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.16), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #36363a, 9%), 8%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 4%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #36363a, 9%), 8%), 9%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #36363a, 9%), 3%); }
+
+.dash-label, .window-caption, .screenshot-ui-tooltip {
+ background-color: rgba(0, 0, 0, 0.9);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ border-radius: 999px;
+ padding: 6px 12px;
+ text-align: center; }
+
+/* General Typography */
+.unlock-dialog-clock .unlock-dialog-clock-date, .app-folder-dialog .folder-name-container .folder-name-label, .app-folder-dialog .folder-name-container .folder-name-entry, .search-statustext {
+ font-weight: 800;
+ font-size: 1.818em; }
+
+.conflicting-session-dialog-content .conflicting-session-dialog-title, .message-dialog-content .message-dialog-title, .message-notification-group .message-group-header .message-group-title, .datemenu-today-button .date-label {
+ font-weight: 800;
+ font-size: 1.364em; }
+
+.login-dialog .user-widget.horizontal .user-widget-label,
+.unlock-dialog .user-widget.horizontal .user-widget-label, .quick-toggle-menu .header .title, .message-list .message-list-placeholder {
+ font-weight: 700;
+ font-size: 1.364em; }
+
+.parental-controls-shield .parental-controls-shield-button, .parental-controls-shield .parental-controls-shield-title, .login-dialog-auth-list-label, #LookingGlassDebugFlags .lg-debug-flags-header, #LookingGlassExtensions .lg-extensions-none, .word-suggestions, .bt-menu-placeholder.popup-menu-item, .restart-message, .polkit-dialog-user-layout .polkit-dialog-user-label,
+.polkit-dialog-user-layout .polkit-dialog-user-root-label, .message-dialog-content .message-dialog-title.lightweight {
+ font-weight: 700;
+ font-size: 1.182em; }
+
+.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+ font-weight: 700;
+ font-size: 1em; }
+
+.quick-toggle-menu .header .subtitle, .app-menu .popup-inactive-menu-item:first-child > StLabel {
+ font-weight: 700;
+ font-size: 0.818em; }
+
+.lg-completions-text, .caps-lock-warning-label, .background-app-item .subtitle, .quick-toggle .quick-toggle-subtitle, .screenshot-ui-type-button .icon-label-button-container, .prompt-dialog .prompt-dialog-error-label,
+.prompt-dialog .prompt-dialog-info-label,
+.prompt-dialog .prompt-dialog-null-label, .run-dialog .run-dialog-description, .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description, .message .message-header .message-header-content .event-time, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .events-button .events-box .events-list .event-box .event-time {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+.weather-button .weather-box .weather-grid .weather-forecast-time, .calendar .calendar-week-number, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button StLabel, #LookingGlassEvaluator .evaluator-results, .lg-dialog .actor-link {
+ font-family: monospace; }
+
+.unlock-dialog-clock .unlock-dialog-clock-time, #panel, .weather-button .weather-box .weather-grid .weather-forecast-temp, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .world-clocks-button .world-clocks-grid .world-clocks-time, .events-button .events-box .events-list .event-box .event-time, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-feature-settings: "tnum"; }
+
+/* OSD Elements */
+#LookingGlassDialog, .screenshot-ui-panel, .workspace-switcher, .switcher-list, .resize-popup, .osd-window {
+ color: #ffffff;
+ background-color: #2e2e33;
+ border: 1px solid rgba(255, 255, 255, 0.02);
+ border-radius: 999px;
+ padding: 12px; }
+
+.lg-dialog StEntry {
+ background-color: #414146;
+ color: rgba(255, 255, 255, 0.7); }
+ .lg-dialog StEntry:hover {
+ background-color: #4b4b51;
+ color: #ffffff; }
+ .lg-dialog StEntry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #414146, 5%);
+ color: #ffffff; }
+ .lg-dialog StEntry:insensitive {
+ background-color: #3a3a3e;
+ color: rgba(255, 255, 255, 0.5); }
+ .lg-dialog StEntry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+#LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #2e2e33, 9%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #2e2e33, 9%), 4%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 9%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 9%), 8%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 9%), 8%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 9%), 8%), 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:insensitive, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:insensitive,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:insensitive, #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #2e2e33, 9%), 3%); }
+
+#LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button {
+ color: #ffffff;
+ background-color: #2e2e33; }
+ #LookingGlassDialog .notebook-tab:focus, .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(46, 46, 51, 0.25), 5%); }
+ #LookingGlassDialog .notebook-tab:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#2e2e33, 7%), 5%); }
+ #LookingGlassDialog .notebook-tab:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 7%); }
+ #LookingGlassDialog .notebook-tab:active, .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 9%); }
+ #LookingGlassDialog .notebook-tab:active:hover, .screenshot-ui-show-pointer-button:active:hover, .screenshot-ui-type-button:active:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 9%), 7%); }
+ #LookingGlassDialog .notebook-tab:active:focus, .screenshot-ui-show-pointer-button:active:focus, .screenshot-ui-type-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#2e2e33, 9%), 5%); }
+ #LookingGlassDialog .notebook-tab:checked, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 8%); }
+ #LookingGlassDialog .notebook-tab:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 7%); }
+ #LookingGlassDialog .notebook-tab:checked:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 9%); }
+ #LookingGlassDialog .notebook-tab:insensitive, .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #2e2e33; }
+
+/* System Elements */
+.login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry {
+ background-color: #404045;
+ color: rgba(250, 250, 251, 0.7); }
+ .login-dialog .login-dialog-prompt-entry:hover, .app-folder-dialog .folder-name-container .folder-name-entry:hover, .search-entry:hover {
+ background-color: #4a4a50;
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-entry:focus, .app-folder-dialog .folder-name-container .folder-name-entry:focus, .search-entry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #404045, 5%);
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-entry:insensitive, .app-folder-dialog .folder-name-container .folder-name-entry:insensitive, .search-entry:insensitive {
+ background-color: #39393d;
+ color: rgba(250, 250, 251, 0.5); }
+ .login-dialog .login-dialog-prompt-entry StLabel.hint-text, .app-folder-dialog .folder-name-container .folder-name-entry StLabel.hint-text, .search-entry StLabel.hint-text {
+ color: rgba(250, 250, 251, 0.7); }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #2e2e33, 9%); }
+ .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: st-darken(st-mix(#fafafb, #2e2e33, 9%), 3%); }
+ .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#fafafb, #2e2e33, 9%), 5%); }
+ .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #2e2e33, 9%), 4%), 5%); }
+ .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #2e2e33, 9%), 4%); }
+ .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #2e2e33, 9%), 9%); }
+ .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #2e2e33, 9%), 9%), 4%); }
+ .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #2e2e33, 9%), 9%), 5%); }
+ .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #2e2e33, 9%), 8%); }
+ .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #2e2e33, 9%), 8%), 4%); }
+ .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #2e2e33, 9%), 8%), 9%); }
+
+/* Lockscreen Elements */
+.unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .calendar .calendar-month-header .pager-button,
+.calendar .calendar-month-header .unlock-dialog .pager-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button,
+.unlock-dialog .login-dialog-button.a11y-button,
+.unlock-dialog .login-dialog-button.cancel-button,
+.unlock-dialog .login-dialog-button.switch-user-button,
+.unlock-dialog .login-dialog-button.login-dialog-session-list-button, .unlock-dialog .login-dialog-auth-list-item {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1); }
+ .unlock-dialog-notifications-container .message StButton:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus, .parental-controls-shield .parental-controls-shield-button:focus, .unlock-dialog .button:focus,
+ .unlock-dialog .icon-button:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus,
+ .unlock-dialog .message .message-header .message-expand-button:focus,
+ .message .message-header .unlock-dialog .message-expand-button:focus,
+ .unlock-dialog .message .message-header .message-close-button:focus,
+ .message .message-header .unlock-dialog .message-close-button:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus, .unlock-dialog .login-dialog-auth-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(250, 250, 251, 0.1), 5%); }
+ .unlock-dialog-notifications-container .message StButton:focus:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus:hover, .parental-controls-shield .parental-controls-shield-button:focus:hover, .unlock-dialog .button:focus:hover,
+ .unlock-dialog .icon-button:focus:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus:hover,
+ .unlock-dialog .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .unlock-dialog .message-expand-button:focus:hover,
+ .unlock-dialog .message .message-header .message-close-button:focus:hover,
+ .message .message-header .unlock-dialog .message-close-button:focus:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:focus:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:focus:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus:hover, .unlock-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(250, 250, 251, 0.13), 5%); }
+ .unlock-dialog-notifications-container .message StButton:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:hover, .parental-controls-shield .parental-controls-shield-button:hover, .unlock-dialog .button:hover,
+ .unlock-dialog .icon-button:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:hover,
+ .unlock-dialog .message .message-header .message-expand-button:hover,
+ .message .message-header .unlock-dialog .message-expand-button:hover,
+ .unlock-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .unlock-dialog .message-close-button:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:hover, .unlock-dialog .login-dialog-auth-list-item:hover {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.13); }
+ .unlock-dialog-notifications-container .message StButton:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active, .parental-controls-shield .parental-controls-shield-button:active, .unlock-dialog .button:active,
+ .unlock-dialog .icon-button:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:active,
+ .unlock-dialog .message .message-header .message-expand-button:active,
+ .message .message-header .unlock-dialog .message-expand-button:active,
+ .unlock-dialog .message .message-header .message-close-button:active,
+ .message .message-header .unlock-dialog .message-close-button:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active,
+ .unlock-dialog .login-dialog-button.a11y-button:active,
+ .unlock-dialog .login-dialog-button.cancel-button:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active, .unlock-dialog .login-dialog-auth-list-item:active {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.16); }
+ .unlock-dialog-notifications-container .message StButton:active:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:hover, .parental-controls-shield .parental-controls-shield-button:active:hover, .unlock-dialog .button:active:hover,
+ .unlock-dialog .icon-button:active:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:hover,
+ .unlock-dialog .message .message-header .message-expand-button:active:hover,
+ .message .message-header .unlock-dialog .message-expand-button:active:hover,
+ .unlock-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .unlock-dialog .message-close-button:active:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:active:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:active:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .unlock-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: rgba(250, 250, 251, 0.19); }
+ .unlock-dialog-notifications-container .message StButton:active:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:focus, .parental-controls-shield .parental-controls-shield-button:active:focus, .unlock-dialog .button:active:focus,
+ .unlock-dialog .icon-button:active:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:focus,
+ .unlock-dialog .message .message-header .message-expand-button:active:focus,
+ .message .message-header .unlock-dialog .message-expand-button:active:focus,
+ .unlock-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .unlock-dialog .message-close-button:active:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:active:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:active:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .unlock-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(250, 250, 251, 0.16), 5%); }
+ .unlock-dialog-notifications-container .message StButton:checked,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked, .parental-controls-shield .parental-controls-shield-button:checked, .unlock-dialog .button:checked,
+ .unlock-dialog .icon-button:checked,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked,
+ .unlock-dialog .message .message-header .message-expand-button:checked,
+ .message .message-header .unlock-dialog .message-expand-button:checked,
+ .unlock-dialog .message .message-header .message-close-button:checked,
+ .message .message-header .unlock-dialog .message-close-button:checked,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked,
+ .unlock-dialog .login-dialog-button.a11y-button:checked,
+ .unlock-dialog .login-dialog-button.cancel-button:checked,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked, .unlock-dialog .login-dialog-auth-list-item:checked {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #36363a, 9%), 8%); }
+ .unlock-dialog-notifications-container .message StButton:checked:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:hover, .parental-controls-shield .parental-controls-shield-button:checked:hover, .unlock-dialog .button:checked:hover,
+ .unlock-dialog .icon-button:checked:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:hover,
+ .unlock-dialog .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .unlock-dialog .message-expand-button:checked:hover,
+ .unlock-dialog .message .message-header .message-close-button:checked:hover,
+ .message .message-header .unlock-dialog .message-close-button:checked:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:hover, .unlock-dialog .login-dialog-auth-list-item:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #36363a, 9%), 8%), 4%); }
+ .unlock-dialog-notifications-container .message StButton:checked:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:active, .parental-controls-shield .parental-controls-shield-button:checked:active, .unlock-dialog .button:checked:active,
+ .unlock-dialog .icon-button:checked:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:active,
+ .unlock-dialog .message .message-header .message-expand-button:checked:active,
+ .message .message-header .unlock-dialog .message-expand-button:checked:active,
+ .unlock-dialog .message .message-header .message-close-button:checked:active,
+ .message .message-header .unlock-dialog .message-close-button:checked:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:active,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:active,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:active, .unlock-dialog .login-dialog-auth-list-item:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #36363a, 9%), 8%), 9%); }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive, .parental-controls-shield .parental-controls-shield-button:insensitive, .unlock-dialog .button:insensitive,
+ .unlock-dialog .icon-button:insensitive,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:insensitive,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:insensitive,
+ .unlock-dialog .message-notification-group .message-collapse-button:insensitive,
+ .message-notification-group .unlock-dialog .message-collapse-button:insensitive,
+ .unlock-dialog .message .message-header .message-expand-button:insensitive,
+ .message .message-header .unlock-dialog .message-expand-button:insensitive,
+ .unlock-dialog .message .message-header .message-close-button:insensitive,
+ .message .message-header .unlock-dialog .message-close-button:insensitive,
+ .unlock-dialog .screenshot-ui-show-pointer-button:insensitive,
+ .unlock-dialog .login-dialog-button.a11y-button:insensitive,
+ .unlock-dialog .login-dialog-button.cancel-button:insensitive,
+ .unlock-dialog .login-dialog-button.switch-user-button:insensitive,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:insensitive, .unlock-dialog .login-dialog-auth-list-item:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: st-darken(st-mix(#fafafb, #36363a, 9%), 3%); }
+
+.unlock-dialog .login-dialog-prompt-entry {
+ background-color: rgba(250, 250, 251, 0.1);
+ color: rgba(250, 250, 251, 0.7); }
+ .unlock-dialog .login-dialog-prompt-entry:hover {
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #fafafb; }
+ .unlock-dialog .login-dialog-prompt-entry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(250, 250, 251, 0.4), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(250, 250, 251, 0.1), 5%);
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(250, 250, 251, 0.4), 0.2) !important;
+ background-color: st-mix(rgba(250, 250, 251, 0.4), rgba(250, 250, 251, 0.1), 5%); }
+ .unlock-dialog .login-dialog-prompt-entry:insensitive {
+ background-color: rgba(242, 242, 244, 0.1);
+ color: rgba(250, 250, 251, 0.5); }
+ .unlock-dialog .login-dialog-prompt-entry StLabel.hint-text {
+ color: rgba(250, 250, 251, 0.7); }
+
+/* WIDGETS */
+.shell-link {
+ color: st-lighten(-st-accent-color, 20%); }
+ .shell-link:hover {
+ color: st-lighten(st-lighten(-st-accent-color, 20%), 10%); }
+
+.lowres-icon {
+ icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
+
+.icon-dropshadow {
+ icon-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
+
+/* Entries */
+StEntry StIcon.capslock-warning {
+ icon-size: 1.091em;
+ warning-color: #cd9309;
+ padding: 0 4px; }
+
+StEntry StIcon.peek-password {
+ icon-size: 1.091em;
+ padding: 0 4px; }
+
+StEntry StLabel.hint-text {
+ margin-left: 2px; }
+
+/* Buttons */
+.button {
+ min-height: 1.5em; }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button {
+ border-radius: 999px;
+ padding: 0.818em;
+ min-height: 1.091em; }
+ .icon-button StIcon, .login-dialog-button.a11y-button StIcon, .login-dialog-button.cancel-button StIcon, .login-dialog-button.switch-user-button StIcon, .login-dialog-button.login-dialog-session-list-button StIcon, .screenshot-ui-show-pointer-button StIcon, .message .message-header .message-expand-button StIcon,
+ .message .message-header .message-close-button StIcon, .message-notification-group .message-collapse-button StIcon, .calendar .calendar-month-header .pager-button StIcon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+
+/* Check Boxes */
+.check-box StBoxLayout {
+ spacing: .8em; }
+
+.check-box StBin {
+ border-radius: 7px;
+ padding: 2px; }
+
+.check-box:focus StBin {
+ background-color: rgba(0, 0, 0, 0.01);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.65); }
+
+.check-box StIcon {
+ icon-size: 14px;
+ padding: 1px;
+ color: transparent;
+ border-radius: 6px;
+ border: 2px solid rgba(255, 255, 255, 0.15); }
+
+.check-box:hover StIcon {
+ border-color: rgba(255, 255, 255, 0.2); }
+
+.check-box:active StIcon {
+ border-color: rgba(255, 255, 255, 0.3); }
+
+.check-box:checked StIcon {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-color: transparent; }
+
+.check-box:checked:hover StIcon {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.check-box:checked:active StIcon {
+ background-color: st-darken(-st-accent-color, 7%);
+ color: st-darken(-st-accent-fg-color, 7%); }
+
+/* Switches */
+.toggle-switch {
+ width: 46px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ color: #ffffff;
+ background: rgba(255, 255, 255, 0.15); }
+ .toggle-switch:hover {
+ background: rgba(255, 255, 255, 0.2); }
+ .toggle-switch StIcon {
+ icon-size: 16px; }
+ .toggle-switch .handle {
+ margin: 3px;
+ width: 20px;
+ height: 20px;
+ border-radius: 999px;
+ background: #d7d7d8;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ transition-duration: 100ms; }
+ .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+ .toggle-switch:checked .handle {
+ background: white; }
+
+/* Slider */
+.slider {
+ color: #e8e8e8;
+ -barlevel-height: 4px;
+ -barlevel-background-color: rgba(255, 255, 255, 0.1);
+ -barlevel-active-background-color: -st-accent-color;
+ -barlevel-overdrive-color: #c01c28;
+ -barlevel-overdrive-separator-width: 1px;
+ -slider-handle-radius: 0.5455em; }
+ .slider:hover {
+ color: #ffffff; }
+
+/* Scrollbars */
+StScrollView.vfade {
+ -st-vfade-offset: 68px; }
+
+StScrollView.hfade {
+ -st-hfade-offset: 68px; }
+
+StScrollBar {
+ padding: 0; }
+ StScrollView StScrollBar {
+ min-width: 8px;
+ min-height: 8px; }
+ StScrollBar StBin#trough {
+ border-radius: 0;
+ background-color: transparent; }
+ StScrollBar > .vhandle, StScrollBar > .hhandle {
+ border-radius: 8px;
+ background-color: #727275;
+ border: 3px solid transparent;
+ transition: 500ms all ease; }
+ StScrollBar > .vhandle:hover, StScrollBar > .hhandle:hover {
+ background-color: #9b9b9d; }
+ StScrollBar > .vhandle:active, StScrollBar > .hhandle:active {
+ background-color: #868689; }
+
+/* Popovers/Menus */
+.popup-menu-boxpointer, .candidate-popup-boxpointer {
+ -arrow-rise: 6px; }
+
+.popup-menu {
+ min-width: 15em;
+ color: #ffffff; }
+ .popup-menu.panel-menu {
+ margin-bottom: 1.75em; }
+
+.popup-menu-content, .candidate-popup-content {
+ padding: 6px;
+ background-color: #36363a;
+ border-radius: 20px;
+ border: 1px solid #424247;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); }
+
+.popup-menu-item {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ border-radius: 12px; }
+ .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-menu-item:active {
+ color: #ffffff;
+ background-color: st-lighten(#424247, 9%); }
+ .popup-menu-item:active:hover {
+ background-color: st-lighten(st-lighten(#424247, 9%), 7%); }
+ .popup-menu-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#424247, 9%), 5%); }
+ .popup-menu-item:hover, .popup-menu-item:selected, .popup-menu-item:checked {
+ color: #ffffff;
+ background-color: st-lighten(#424247, 7%); }
+ .popup-menu-item:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #424247; }
+ .popup-menu-item:checked {
+ border-radius: 12px 12px 0 0 !important; }
+ .popup-menu-item .toggle-switch:ltr {
+ margin-left: 4px; }
+ .popup-menu-item .toggle-switch:rtl {
+ margin-right: 4px; }
+
+.popup-ornamented-menu-item:ltr {
+ padding-left: 6px; }
+
+.popup-ornamented-menu-item:rtl {
+ padding-right: 6px; }
+
+.popup-inactive-menu-item {
+ color: #ffffff; }
+ .popup-inactive-menu-item:insensitive {
+ color: #9b9b9d; }
+
+.popup-menu-arrow,
+.popup-menu-icon {
+ icon-size: 1.091em; }
+
+.popup-sub-menu {
+ border-radius: 0 0 13px 13px;
+ margin-bottom: 6px;
+ border: 1px solid transparent;
+ background-color: #56565c; }
+ .popup-sub-menu .popup-menu-item {
+ border-radius: 0;
+ border-top-width: 0;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-sub-menu .popup-menu-item:active {
+ color: #ffffff;
+ background-color: st-lighten(#56565c, 9%); }
+ .popup-sub-menu .popup-menu-item:active:hover {
+ background-color: st-lighten(st-lighten(#56565c, 9%), 7%); }
+ .popup-sub-menu .popup-menu-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#56565c, 9%), 5%); }
+ .popup-sub-menu .popup-menu-item:hover, .popup-sub-menu .popup-menu-item:selected, .popup-sub-menu .popup-menu-item:checked {
+ color: #ffffff;
+ background-color: st-lighten(#56565c, 7%); }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #56565c; }
+ .popup-sub-menu .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px;
+ border-bottom-width: 0; }
+ .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:hover, .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:focus {
+ border-radius: 0; }
+ .popup-sub-menu .popup-menu-section:last-child .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px; }
+
+.popup-menu-ornament {
+ icon-size: 1.091em !important;
+ width: 1.091em; }
+
+.popup-separator-menu-item {
+ border: none !important; }
+ .popup-separator-menu-item .popup-separator-menu-item-separator {
+ height: 1px;
+ background-color: rgba(255, 255, 255, 0.1); }
+ .popup-sub-menu .popup-separator-menu-item {
+ background-color: transparent; }
+ .popup-sub-menu .popup-separator-menu-item:ltr {
+ margin-right: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item:rtl {
+ margin-left: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item .popup-separator-menu-item-separator {
+ background-color: rgba(255, 255, 255, 0.1); }
+
+.background-menu {
+ -boxpointer-gap: 0px;
+ -arrow-rise: 0px; }
+
+.app-menu {
+ max-width: 27.25em; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:ltr {
+ margin-right: 8px; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:rtl {
+ margin-left: 8px; }
+
+/* Date/Time Menu */
+#calendarArea {
+ padding: 4px; }
+
+.datemenu-popover {
+ border-radius: 30px; }
+
+.datemenu-calendar-column {
+ spacing: 6px; }
+ .datemenu-calendar-column:ltr {
+ margin-left: 6px; }
+ .datemenu-calendar-column:rtl {
+ margin-right: 6px; }
+ .datemenu-calendar-column .datemenu-displays-box {
+ spacing: 6px; }
+
+.datemenu-today-button {
+ padding: 9px; }
+ .datemenu-today-button .day-label {
+ font-weight: bold; }
+
+.calendar {
+ margin-top: 0;
+ padding: 0; }
+ .calendar .calendar-month-header .calendar-change-month-back StIcon,
+ .calendar .calendar-month-header .calendar-change-month-forward StIcon {
+ icon-size: 1.091em; }
+ .calendar .calendar-month-header .calendar-month-label {
+ color: #ffffff !important;
+ padding: 8px 0;
+ width: 10em;
+ border-radius: 999px;
+ text-align: center; }
+ .calendar .calendar-month-header .pager-button {
+ height: 2.6em;
+ width: 2.6em;
+ padding: 0; }
+ .calendar .calendar-day {
+ border-radius: 999px;
+ height: 3em;
+ width: 3em;
+ margin: 2px;
+ padding: 0;
+ font-weight: bold;
+ text-align: center; }
+ .calendar .calendar-day.calendar-weekend {
+ color: #9b9b9d; }
+ .calendar .calendar-day.calendar-other-month {
+ color: rgba(255, 255, 255, 0.5);
+ font-weight: normal; }
+ .calendar .calendar-day.calendar-other-month.calendar-weekend {
+ color: rgba(255, 255, 255, 0.5); }
+ .calendar .calendar-day.calendar-today {
+ color: -st-accent-fg-color !important; }
+ .calendar .calendar-day.calendar-today.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg") !important; }
+ .calendar .calendar-day.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
+ background-size: contain; }
+ .calendar .calendar-day-heading {
+ font-weight: bold;
+ text-align: center;
+ margin: 4px;
+ padding: 3px 6px;
+ border-radius: 8px; }
+ .calendar .calendar-week-number {
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ text-align: center;
+ margin: 6px;
+ padding: 0 6px;
+ border-radius: 4px;
+ background-color: rgba(155, 155, 157, 0.2);
+ color: #9b9b9d; }
+
+.events-button .events-box .events-title {
+ color: #b2b2b4;
+ padding-bottom: 6px; }
+
+.events-button .events-box .events-list {
+ spacing: 6px; }
+ .events-button .events-box .events-list .event-box {
+ spacing: 6px;
+ border-radius: 8px; }
+ .events-button .events-box .events-list .event-box .event-time {
+ color: #b2b2b4; }
+ .events-button .events-box .events-list .event-placeholder {
+ color: #b2b2b4;
+ font-style: italic; }
+
+.world-clocks-button .world-clocks-header {
+ color: #b2b2b4; }
+ .world-clocks-button .world-clocks-header.no-world-clocks {
+ color: #ffffff; }
+
+.world-clocks-button .world-clocks-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time {
+ font-weight: bold; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:ltr {
+ text-align: right; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:rtl {
+ text-align: left; }
+ .world-clocks-button .world-clocks-grid .world-clocks-timezone {
+ color: #b2b2b4; }
+
+.weather-button .weather-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box .weather-header {
+ color: #b2b2b4; }
+ .weather-button .weather-box .weather-header-box .weather-header.no-location {
+ color: #ffffff; }
+ .weather-button .weather-box .weather-header-box .weather-header.location {
+ font-weight: normal; }
+ .weather-button .weather-box .weather-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-time {
+ padding-top: 6px;
+ padding-bottom: 6px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-icon {
+ icon-size: 2.182em;
+ margin-bottom: 4px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-temp {
+ font-weight: bold; }
+
+/* Message List */
+.message-list {
+ width: 29em;
+ border: solid rgba(255, 255, 255, 0.1); }
+ .message-list:ltr {
+ margin-left: 0;
+ margin-right: 4px;
+ padding-right: 6px;
+ border-right-width: 1px; }
+ .message-list:rtl {
+ margin-right: 0;
+ margin-left: 4px;
+ padding-left: 6px;
+ border-left-width: 1px; }
+ .message-list .message-list-placeholder {
+ color: rgba(255, 255, 255, 0.45); }
+ .message-list .message-list-placeholder > StIcon {
+ icon-size: 96px;
+ margin-bottom: 12px;
+ -st-icon-style: symbolic; }
+
+.message-view {
+ -st-vfade-offset: 68px; }
+ .message-view:ltr {
+ margin-right: 12px; }
+ .message-view:rtl {
+ margin-left: 12px; }
+ .message-view .message {
+ margin-bottom: 12px !important;
+ border-radius: 18px; }
+
+.message-list-controls {
+ padding: 12px;
+ padding-bottom: 9px;
+ spacing: 6px; }
+ .message-list-controls .message-list-clear-button {
+ border-radius: 999px; }
+
+.message-notification-group {
+ spacing: 12px; }
+ .message-notification-group .message-group-header {
+ padding: 6px; }
+ .message-notification-group .message-group-header .message-group-title {
+ margin: 0 4px; }
+ .message-notification-group .message-collapse-button {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.2);
+ padding: 4px !important;
+ border: 4px transparent solid; }
+ .message-notification-group .message-collapse-button:hover {
+ background-color: rgba(255, 255, 255, 0.3); }
+ .message-notification-group .message-collapse-button:active {
+ background-color: rgba(255, 255, 255, 0.2); }
+
+.message {
+ padding: 6px;
+ margin: 0;
+ border-radius: 16px;
+ background-color: #54545a; }
+ .message:second-in-stack {
+ background-color: #45454a;
+ box-shadow: 0 1px 1px 0 transparent; }
+ .message:lower-in-stack {
+ background-color: #3d3d42;
+ box-shadow: none;
+ border-color: transparent; }
+ .message .message-header {
+ spacing: 6px;
+ color: #b2b2b4;
+ padding: 0 6px; }
+ .message .message-header:ltr {
+ padding-right: 0; }
+ .message .message-header:rtl {
+ padding-left: 0; }
+ .message .message-header .message-source-icon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+ .message .message-header .message-header-content {
+ spacing: 6px;
+ min-height: 1.637em;
+ padding-bottom: 6px; }
+ .message .message-header .message-header-content .message-source-title {
+ font-weight: bold; }
+ .message .message-header .message-header-content .event-time {
+ color: #b2b2b4;
+ padding-bottom: 0.068em; }
+ .message .message-header .message-header-content .event-time:ltr {
+ text-align: right; }
+ .message .message-header .message-header-content .event-time:rtl {
+ text-align: left; }
+ .message .message-header .message-expand-button,
+ .message .message-header .message-close-button {
+ border-radius: 999px;
+ color: #ffffff; }
+ .message .message-header .message-expand-button {
+ padding: 6px; }
+ .message .message-header .message-close-button {
+ margin: 3px;
+ padding: 6px; }
+ .message .message-box {
+ padding: 6px;
+ margin-top: 0;
+ spacing: 6px; }
+ .message .message-box .message-icon {
+ icon-size: 48px; }
+ .message .message-box .message-icon:ltr {
+ margin-right: 6px; }
+ .message .message-box .message-icon:rtl {
+ margin-left: 6px; }
+ .message .message-box .message-icon.message-themed-icon {
+ border-radius: 999px;
+ background-color: rgba(255, 255, 255, 0.07);
+ icon-size: 1.091em;
+ min-width: 48px;
+ min-height: 48px; }
+ .message .message-box:first-child {
+ margin-top: 12px; }
+ .message .message-box .message-content {
+ spacing: 4px; }
+ .message .message-box .message-content .message-title {
+ font-weight: bold; }
+ .message .message-action-bin {
+ padding: 4px;
+ spacing: 6px; }
+ .message .message-action-bin * {
+ margin: 0 4px; }
+ .message .message-action-bin *:first-child:ltr {
+ margin-left: 0; }
+ .message .message-action-bin *:first-child:rtl {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:ltr {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:rtl {
+ margin-left: 0; }
+
+.url-highlighter {
+ link-color: st-lighten(-st-accent-color, 20%); }
+
+/* Media Controls */
+.message-media-control {
+ padding: 0 18px;
+ border-radius: 8px;
+ color: #ffffff;
+ border: 1px solid transparent; }
+ .message-media-control:hover {
+ background-color: #5b5b62;
+ color: #ffffff; }
+ .message-media-control:active {
+ background-color: #606067;
+ color: #ffffff; }
+ .message-media-control:insensitive {
+ color: #a8a8aa; }
+ .message-media-control StIcon {
+ icon-size: 16px; }
+
+.media-message .message-icon {
+ border-radius: 8px !important; }
+ .media-message .message-icon.message-themed-icon {
+ icon-size: 32px !important; }
+
+.candidate-popup-content {
+ padding: 6px;
+ spacing: 6px;
+ border-radius: 12px; }
+
+.candidate-index {
+ padding: 0;
+ padding-right: 6px;
+ color: #9b9b9d; }
+
+.candidate-box {
+ padding: 6px 12px 6px 12px;
+ border-radius: 8px; }
+ .candidate-box:selected {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .candidate-box:hover {
+ background-color: #4f4f54;
+ color: white; }
+
+.candidate-page-button-box {
+ height: 2em; }
+ .vertical .candidate-page-button-box {
+ padding-top: 12px; }
+ .horizontal .candidate-page-button-box {
+ padding-left: 12px; }
+
+.candidate-page-button {
+ padding: 6px; }
+ .candidate-page-button StIcon {
+ icon-size: 16px; }
+
+.candidate-page-button-previous {
+ border-radius: 8px 0px 0px 8px;
+ border-right-width: 0;
+ box-shadow: none; }
+
+.candidate-page-button-next {
+ border-radius: 0px 8px 8px 0px;
+ box-shadow: none; }
+
+/* Notifications & Message Tray */
+.notification-banner {
+ min-height: 64px;
+ width: 34em;
+ box-shadow: 0 2px 4px 2px rgba(0, 0, 0, 0.2);
+ border-radius: 16px;
+ margin: 4px; }
+
+.notification-buttons-bin {
+ spacing: 0; }
+
+/* Modal Dialogs */
+.modal-dialog {
+ background-color: #36363a;
+ border-radius: 18px;
+ padding: 24px;
+ spacing: 18px;
+ box-shadow: 0 12px 8px 12px rgba(0, 0, 0, 0.03); }
+ .modal-dialog .modal-dialog-content-box {
+ padding-top: 12px;
+ spacing: 18px;
+ max-width: 28em; }
+ .modal-dialog .modal-dialog-button-box {
+ padding-top: 6px; }
+
+.dialog-list {
+ spacing: 18px; }
+ .dialog-list .dialog-list-title {
+ text-align: center; }
+ .dialog-list .dialog-list-scrollview {
+ max-height: 200px; }
+ .dialog-list .dialog-list-box {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-title {
+ font-weight: bold; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description {
+ color: #f2f2f2; }
+
+/* End Session Dialog */
+.end-session-dialog {
+ width: 24em; }
+ .end-session-dialog .end-session-dialog-battery-warning,
+ .end-session-dialog .dialog-list-title {
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+/* Message Dialog */
+.message-dialog-content {
+ spacing: 18px; }
+ .message-dialog-content .message-dialog-title {
+ text-align: center; }
+ .message-dialog-content .message-dialog-description {
+ text-align: center; }
+
+/* Run Dialog */
+.run-dialog {
+ width: 24em;
+ padding-bottom: 6px; }
+ .run-dialog .run-dialog-entry {
+ padding: 12px 9px; }
+ .run-dialog .run-dialog-description {
+ color: #cccccc; }
+
+/* Password or Authentication Dialog */
+.prompt-dialog {
+ width: 28em; }
+ .prompt-dialog .prompt-dialog-password-grid {
+ spacing-rows: 8px;
+ spacing-columns: 4px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry {
+ width: auto; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:ltr {
+ margin-left: 20px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:rtl {
+ margin-right: 20px; }
+ .prompt-dialog .prompt-dialog-password-layout {
+ spacing: 8px; }
+ .prompt-dialog .prompt-dialog-password-entry {
+ width: 20em;
+ padding: 12px 9px; }
+ .prompt-dialog .prompt-dialog-error-label,
+ .prompt-dialog .prompt-dialog-info-label,
+ .prompt-dialog .prompt-dialog-null-label {
+ text-align: center;
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+ .prompt-dialog .prompt-dialog-error-label {
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1); }
+ .prompt-dialog .prompt-dialog-info-label {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.1); }
+
+/* Polkit Dialog */
+.polkit-dialog-user-layout {
+ text-align: center;
+ spacing: 8px;
+ margin-bottom: 6px; }
+ .polkit-dialog-user-layout .polkit-dialog-user-root-label {
+ color: #cd9309; }
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+ min-width: 24em; }
+ .audio-device-selection-dialog .audio-selection-box {
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ color: #ffffff;
+ background-color: #36363a;
+ background-color: transparent; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(54, 54, 58, 0.25), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#36363a, 7%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:hover {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 9%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:hover {
+ background-color: st-lighten(st-lighten(#36363a, 9%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#36363a, 9%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked {
+ color: #ffffff;
+ background-color: st-lighten(#36363a, 8%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:hover {
+ background-color: st-lighten(st-lighten(#36363a, 8%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:active {
+ background-color: st-lighten(st-lighten(#36363a, 8%), 9%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #36363a; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-box {
+ padding: 12px;
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-icon {
+ icon-size: 64px; }
+
+/* Welcome dialog */
+.welcome-dialog-image {
+ background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
+ background-size: contain;
+ /* Reasonable maximum dimensions */
+ height: 300px;
+ width: 300px; }
+
+/* Access portal dialog */
+.access-dialog {
+ text-align: center; }
+
+/* OSD */
+.osd-window {
+ text-align: center;
+ font-weight: bold;
+ spacing: 12px;
+ padding: 12px 18px;
+ margin-bottom: 4em; }
+ .osd-window > * {
+ spacing: 8px; }
+ .osd-window StIcon {
+ icon-size: 32px; }
+ .osd-window StLabel:ltr {
+ margin-right: 6px; }
+ .osd-window StLabel:rtl {
+ margin-left: 6px; }
+ .osd-window .level {
+ margin-bottom: 4px;
+ min-width: 160px;
+ -barlevel-height: 6px;
+ -barlevel-background-color: rgba(255, 255, 255, 0.1);
+ -barlevel-active-background-color: #ffffff;
+ -barlevel-overdrive-color: #c01c28;
+ -barlevel-overdrive-separator-width: 3px; }
+ .osd-window .level:first-child {
+ margin-bottom: 0; }
+ .osd-window .level:ltr {
+ margin-right: 6px; }
+ .osd-window .level:rtl {
+ margin-left: 6px; }
+
+.osd-monitor-label, .osd-break-countdown-label {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-radius: 16px;
+ font-size: 3em;
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ margin: 12px;
+ padding: 12px;
+ text-align: center;
+ min-width: 1.5em; }
+
+/* Pad OSD */
+.pad-osd-window {
+ padding: 32px;
+ background-color: rgba(0, 0, 0, 0.8); }
+ .pad-osd-window .pad-osd-title-box {
+ spacing: 12px; }
+ .pad-osd-window .pad-osd-title-menu-box {
+ spacing: 6px; }
+
+.combo-box-label {
+ width: 15em; }
+
+/* App Switcher */
+.switcher-popup {
+ padding: 0;
+ spacing: 24px; }
+
+.switcher-list {
+ padding: 12px;
+ border-radius: 28px;
+ box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.2); }
+ .switcher-list .switcher-list-item-container {
+ spacing: 12px; }
+ .switcher-list .item-box {
+ color: #ffffff;
+ background-color: #2e2e33;
+ background-color: transparent; }
+ .switcher-list .item-box:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(46, 46, 51, 0.25), 5%); }
+ .switcher-list .item-box:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#2e2e33, 7%), 5%); }
+ .switcher-list .item-box:hover {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 7%); }
+ .switcher-list .item-box:active {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 9%); }
+ .switcher-list .item-box:active:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 9%), 7%); }
+ .switcher-list .item-box:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#2e2e33, 9%), 5%); }
+ .switcher-list .item-box:highlighted, .switcher-list .item-box:selected, .switcher-list .item-box:checked {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 8%); }
+ .switcher-list .item-box:highlighted:hover, .switcher-list .item-box:selected:hover, .switcher-list .item-box:checked:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 7%); }
+ .switcher-list .item-box:highlighted:active, .switcher-list .item-box:selected:active, .switcher-list .item-box:checked:active {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 9%); }
+ .switcher-list .item-box:insensitive {
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #2e2e33; }
+ .switcher-list .item-box:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .switcher-list .item-box:hover {
+ background: none; }
+ .switcher-list .item-box:selected {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .switcher-list .separator {
+ width: 1px;
+ background: rgba(255, 255, 255, 0.1); }
+ .switcher-list .thumbnail-box {
+ padding: 2px;
+ spacing: 6px; }
+ .switcher-list .thumbnail {
+ width: 256px;
+ border-radius: 8px; }
+
+.switcher-arrow {
+ border-color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.8); }
+ .switcher-arrow:highlighted {
+ border-color: #ffffff;
+ color: #ffffff; }
+
+.input-source-switcher-symbol {
+ font-size: 34pt;
+ width: 96px;
+ height: 96px; }
+
+.cycler-highlight {
+ border: 5px solid -st-accent-color; }
+
+/* Workspace Switcher */
+.workspace-switcher {
+ margin-bottom: 4em;
+ spacing: 12px;
+ padding: 12px 18px; }
+
+.ws-switcher-indicator {
+ background-color: rgba(255, 255, 255, 0.5);
+ padding: 2.6666666667px;
+ margin: 13.3333333333px;
+ border-radius: 32px; }
+ .ws-switcher-indicator:active {
+ background-color: #ffffff;
+ padding: 5.3333333333px;
+ margin: 10.6666666667px; }
+
+.screenshot-ui-panel {
+ border-radius: 32px;
+ padding: 18px;
+ padding-bottom: 12px;
+ margin-bottom: 4em;
+ spacing: 12px; }
+
+.screenshot-ui-close-button {
+ padding: 6px !important;
+ margin-top: 12px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); }
+ .screenshot-ui-close-button.left {
+ margin-left: 12px; }
+ .screenshot-ui-close-button.right {
+ margin-right: 12px; }
+
+.screenshot-ui-type-button {
+ min-width: 48px;
+ padding: 12px 18px;
+ border-radius: 14px; }
+ .screenshot-ui-type-button .icon-label-button-container {
+ spacing: 0.409em; }
+ .screenshot-ui-type-button .icon-label-button-container > StIcon {
+ icon-size: 32px; }
+
+.screenshot-ui-capture-button {
+ width: 32px;
+ height: 32px;
+ border-radius: 999px;
+ border: 4px #ffffff;
+ padding: 4px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle {
+ background-color: #ffffff;
+ transition-duration: 200ms;
+ border-radius: 999px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus {
+ background-color: #4f4f54; }
+ .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle {
+ background-color: #cccccc; }
+ .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle {
+ background-color: gray; }
+ .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle {
+ background-color: #c01c28; }
+ .screenshot-ui-capture-button:cast:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:cast:focus .screenshot-ui-capture-button-circle {
+ background-color: #d61f2d; }
+ .screenshot-ui-capture-button:cast:active .screenshot-ui-capture-button-circle {
+ background-color: #a11722; }
+
+.screenshot-ui-shot-cast-container {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 999px;
+ padding: 3px;
+ spacing: 3px; }
+
+.screenshot-ui-shot-cast-button {
+ padding: 6px 12px;
+ background-color: transparent;
+ border-radius: 999px; }
+ .screenshot-ui-shot-cast-button > StIcon {
+ icon-size: 16px; }
+ .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .screenshot-ui-shot-cast-button:active {
+ background-color: rgba(255, 255, 255, 0.5); }
+ .screenshot-ui-shot-cast-button:checked {
+ background-color: #ffffff;
+ color: #2e2e33; }
+ .screenshot-ui-shot-cast-button:insensitive {
+ color: rgba(255, 255, 255, 0.5); }
+
+.screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.3); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.5); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-selection {
+ border: 2px white; }
+
+.screenshot-ui-area-selector-handle {
+ border-radius: 999px;
+ background-color: white;
+ box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.2);
+ width: 24px;
+ height: 24px; }
+
+.screenshot-ui-window-selector {
+ background-color: #222226; }
+ .screenshot-ui-window-selector .screenshot-ui-window-selector-window-container {
+ margin: 100px; }
+ .screenshot-ui-window-selector:primary-monitor .screenshot-ui-window-selector-window-container {
+ margin-bottom: 200px; }
+
+.screenshot-ui-window-selector-window-border {
+ transition-duration: 200ms;
+ border-radius: 16px;
+ border: 6px transparent; }
+
+.screenshot-ui-window-selector-check {
+ transition-duration: 200ms;
+ color: transparent;
+ border-radius: 999px;
+ border-width: 12px;
+ icon-size: 24px; }
+
+.screenshot-ui-window-selector-window:hover .screenshot-ui-window-selector-window-border {
+ border-color: st-darken(-st-accent-color, 15%); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-window-border {
+ border-color: -st-accent-color;
+ background-color: st-transparentize(-st-accent-color, 0.8); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-check {
+ color: -st-accent-fg-color;
+ background-color: -st-accent-color; }
+
+.screenshot-ui-screen-selector {
+ transition-duration: 200ms;
+ background-color: rgba(0, 0, 0, 0.5); }
+ .screenshot-ui-screen-selector:hover {
+ background-color: rgba(0, 0, 0, 0.3); }
+ .screenshot-ui-screen-selector:active {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .screenshot-ui-screen-selector:checked {
+ background-color: transparent;
+ border: 2px white; }
+
+.screenshot-ui-tooltip {
+ text-align: center;
+ -y-offset: 24px; }
+
+/* Top Bar */
+#panel {
+ background-color: #000000;
+ font-weight: bold;
+ height: 2.2em;
+ transition-duration: 250ms; }
+ #panel .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 6px; }
+ #panel .panel-button:focus, #panel .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button:active, #panel .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button:active:hover, #panel .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button .system-status-icon {
+ icon-size: 1.091em;
+ padding: 0 6px;
+ margin: 0 4px; }
+ #panel .panel-button .panel-status-indicators-box {
+ spacing: 4px; }
+ #panel .panel-button .panel-status-indicators-box > .system-status-icon {
+ padding: 0; }
+ #panel .panel-button#panelActivities StBoxLayout {
+ padding: 0 0.2045em;
+ spacing: 5px; }
+ #panel .panel-button#panelActivities .workspace-dot {
+ border-radius: 999px;
+ min-width: 0.5455em;
+ min-height: 0.5455em;
+ background-color: #ffffff; }
+ #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout {
+ spacing: 0.409em; }
+ #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
+ icon-size: 1.091em; }
+ #panel .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel .panel-button.screen-recording-indicator:focus, #panel .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #d61f2d; }
+ #panel .panel-button.screen-recording-indicator:active, #panel .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #e02a37; }
+ #panel .panel-button.screen-recording-indicator:active:hover, #panel .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #e13340; }
+ #panel .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #ff7800; }
+ #panel .panel-button.screen-sharing-indicator:focus, #panel .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #ff861a; }
+ #panel .panel-button.screen-sharing-indicator:active, #panel .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #ff902e; }
+ #panel .panel-button.screen-sharing-indicator:active:hover, #panel .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ff9638; }
+ #panel .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button.clock-display:active:hover, #panel .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button.clock-display:active .clock:hover, #panel .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button.clock-display .messages-indicator {
+ icon-size: 1.091em; }
+ #panel:overview, #panel.unlock-screen, #panel.login-screen {
+ background-color: transparent; }
+ #panel:overview .panel-button.screen-recording-indicator, #panel.unlock-screen .panel-button.screen-recording-indicator, #panel.login-screen .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel:overview .panel-button.screen-recording-indicator:focus, #panel:overview .panel-button.screen-recording-indicator:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:focus, #panel.unlock-screen .panel-button.screen-recording-indicator:hover, #panel.login-screen .panel-button.screen-recording-indicator:focus, #panel.login-screen .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #d61f2d; }
+ #panel:overview .panel-button.screen-recording-indicator:active, #panel:overview .panel-button.screen-recording-indicator:checked, #panel.unlock-screen .panel-button.screen-recording-indicator:active, #panel.unlock-screen .panel-button.screen-recording-indicator:checked, #panel.login-screen .panel-button.screen-recording-indicator:active, #panel.login-screen .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #e02a37; }
+ #panel:overview .panel-button.screen-recording-indicator:active:hover, #panel:overview .panel-button.screen-recording-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:active:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:checked:hover, #panel.login-screen .panel-button.screen-recording-indicator:active:hover, #panel.login-screen .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #e13340; }
+ #panel:overview .panel-button.screen-sharing-indicator, #panel.unlock-screen .panel-button.screen-sharing-indicator, #panel.login-screen .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #ff7800; }
+ #panel:overview .panel-button.screen-sharing-indicator:focus, #panel:overview .panel-button.screen-sharing-indicator:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus, #panel.unlock-screen .panel-button.screen-sharing-indicator:hover, #panel.login-screen .panel-button.screen-sharing-indicator:focus, #panel.login-screen .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #ff861a; }
+ #panel:overview .panel-button.screen-sharing-indicator:active, #panel:overview .panel-button.screen-sharing-indicator:checked, #panel.unlock-screen .panel-button.screen-sharing-indicator:active, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked, #panel.login-screen .panel-button.screen-sharing-indicator:active, #panel.login-screen .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #ff902e; }
+ #panel:overview .panel-button.screen-sharing-indicator:active:hover, #panel:overview .panel-button.screen-sharing-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:active:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked:hover, #panel.login-screen .panel-button.screen-sharing-indicator:active:hover, #panel.login-screen .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ff9638; }
+ #panel.unlock-screen .panel-button, #panel.login-screen .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:hover, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button:active:hover, #panel.unlock-screen .panel-button:checked:hover, #panel.login-screen .panel-button:active:hover, #panel.login-screen .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display, #panel.login-screen .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active:hover, #panel.unlock-screen .panel-button.clock-display:checked:hover, #panel.login-screen .panel-button.clock-display:active:hover, #panel.login-screen .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display .clock, #panel.login-screen .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock:hover, #panel.unlock-screen .panel-button.clock-display:checked .clock:hover, #panel.login-screen .panel-button.clock-display:active .clock:hover, #panel.login-screen .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel:overview .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel:overview .panel-button:focus, #panel:overview .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button:active, #panel:overview .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button:active:hover, #panel:overview .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel:overview .panel-button#panelActivities .workspace-dot {
+ background-color: #fafafb; }
+ #panel:overview .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button.clock-display:active:hover, #panel:overview .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel:overview .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button.clock-display:active .clock:hover, #panel:overview .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel .panel-status-indicators-box {
+ spacing: 2px; }
+ #panel .power-status.panel-status-indicators-box {
+ spacing: 0; }
+ #panel .privacy-indicator {
+ color: #ff7800; }
+
+.clock-display-box {
+ spacing: 2px; }
+ .clock-display-box .clock {
+ padding-left: 0.818em;
+ padding-right: 0.818em; }
+
+/* Activities Ripple */
+.ripple-box {
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2);
+ width: 52px;
+ height: 52px;
+ border-radius: 0 0 52px 0; }
+ .ripple-box:rtl {
+ border-radius: 0 0 0 52px; }
+
+.quick-settings {
+ padding: 18px;
+ border-radius: 36px; }
+ .quick-settings .icon-button, .quick-settings .login-dialog-button.a11y-button, .quick-settings .login-dialog-button.cancel-button, .quick-settings .login-dialog-button.switch-user-button, .quick-settings .login-dialog-button.login-dialog-session-list-button, .quick-settings .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-settings .pager-button, .quick-settings .message-notification-group .message-collapse-button, .message-notification-group .quick-settings .message-collapse-button, .quick-settings .message .message-header .message-expand-button, .message .message-header .quick-settings .message-expand-button,
+ .quick-settings .message .message-header .message-close-button,
+ .message .message-header .quick-settings .message-close-button, .quick-settings .screenshot-ui-show-pointer-button, .quick-settings .button {
+ padding: 10.5px; }
+
+.quick-settings-grid {
+ spacing-rows: 12px;
+ spacing-columns: 12px; }
+
+.quick-toggle, .quick-toggle-has-menu {
+ border-radius: 999px;
+ min-width: 12em;
+ max-width: 12em;
+ min-height: 3.273em; }
+
+.quick-toggle {
+ /* Move padding into the box; this is to allow menu arrows
+ to extend to the border */ }
+ .quick-toggle > StBoxLayout {
+ spacing: 9px; }
+ .quick-toggle.button {
+ padding: 0; }
+ .quick-toggle > StBoxLayout {
+ padding: 0 12px; }
+ .quick-toggle:ltr > StBoxLayout {
+ padding-left: 15px; }
+ .quick-toggle:rtl > StBoxLayout {
+ padding-right: 15px; }
+ .quick-toggle .quick-toggle-subtitle {
+ font-weight: normal; }
+ .quick-toggle .quick-toggle-icon {
+ icon-size: 1.091em; }
+
+.quick-toggle-has-menu .quick-toggle {
+ min-width: auto;
+ max-width: auto; }
+ .quick-toggle-has-menu .quick-toggle:ltr {
+ border-radius: 999px 0 0 999px; }
+ .quick-toggle-has-menu .quick-toggle:ltr > StBoxLayout {
+ padding-right: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:rtl {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle:rtl > StBoxLayout {
+ padding-left: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:ltr:last-child {
+ border-radius: 999px; }
+ .quick-toggle-has-menu .quick-toggle:rtl:last-child {
+ border-radius: 999px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ padding: 0.409em 0.71575em; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:ltr {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:rtl {
+ border-radius: 999px 0 0 999px; }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ width: 1px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #4a4a4f, 9%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #4a4a4f, 9%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #4a4a4f, 9%), 4%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4a4a4f, 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4a4a4f, 9%), 9%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4a4a4f, 9%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #4a4a4f, 9%), 9%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked {
+ color: -st-accent-fg-color;
+ background-color: st-mix(-st-accent-color, #ffffff, 85%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus {
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-lighten(-st-accent-color, 30%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(-st-accent-color, #ffffff, 85%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(-st-accent-color, #ffffff, 85%), 4%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:hover {
+ color: -st-accent-fg-color;
+ background-color: st-lighten(st-mix(-st-accent-color, #ffffff, 85%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active {
+ color: -st-accent-fg-color;
+ background-color: st-lighten(st-mix(-st-accent-color, #ffffff, 85%), 9%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(-st-accent-color, #ffffff, 85%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(-st-accent-color, #ffffff, 85%), 9%), 5%); }
+
+.quick-toggle-has-menu:checked .quick-toggle-separator {
+ background-color: st-mix(-st-accent-fg-color, -st-accent-color, 30%); }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ background-color: rgba(255, 255, 255, 0.25); }
+
+.quick-slider > StBoxLayout {
+ spacing: 6px; }
+
+.quick-slider .icon-button, .quick-slider .login-dialog-button.a11y-button, .quick-slider .login-dialog-button.cancel-button, .quick-slider .login-dialog-button.switch-user-button, .quick-slider .login-dialog-button.login-dialog-session-list-button, .quick-slider .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-slider .pager-button, .quick-slider .message-notification-group .message-collapse-button, .message-notification-group .quick-slider .message-collapse-button, .quick-slider .message .message-header .message-expand-button, .message .message-header .quick-slider .message-expand-button,
+.quick-slider .message .message-header .message-close-button,
+.message .message-header .quick-slider .message-close-button, .quick-slider .screenshot-ui-show-pointer-button {
+ padding: 6px; }
+
+.quick-slider .slider-bin {
+ padding: 6px;
+ border-radius: 999px; }
+ .quick-slider .slider-bin:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #36363a, 9%), 5%); }
+ .quick-slider .slider-bin:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #36363a, 9%), 4%), 5%); }
+
+.quick-toggle-menu {
+ border-radius: 24px;
++ margin: 12px 0 0; }
+ .quick-toggle-menu:insensitive {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #36363a, 9%); }
+ .quick-toggle-menu .popup-menu-item > StIcon {
+ -st-icon-style: symbolic;
+ icon-size: 1.091em; }
+ .quick-toggle-menu .header {
+ spacing-rows: 3px;
+ spacing-columns: 12px;
+ padding-bottom: 12px; }
+ .quick-toggle-menu .header .icon {
+ icon-size: 1.6365em;
+ border-radius: 999px;
+ padding: 9px;
+ background-color: rgba(255, 255, 255, 0.2); }
+ .quick-toggle-menu .header .icon.active {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+
+.quick-settings-system-item > StBoxLayout {
+ spacing: 12px; }
+
+.quick-settings-system-item .power-item {
+ min-height: 0;
+ min-width: 0; }
+ .quick-settings-system-item .power-item:insensitive {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #36363a, 9%);
+ background-color: transparent; }
+
+.nm-network-item .wireless-secure-icon {
+ icon-size: 0.5455em; }
+
+.bt-device-item .popup-menu-icon {
+ -st-icon-style: symbolic; }
+
+.bt-menu-placeholder.popup-menu-item {
+ text-align: center;
+ padding: 2em 4em; }
+
+.device-subtitle {
+ color: rgba(255, 255, 255, 0.5); }
+
+.keyboard-brightness-level {
+ spacing: 6px; }
+
+.background-apps-quick-toggle {
+ min-height: 2.728em;
+ background-color: transparent; }
+ .background-apps-quick-toggle StIcon {
+ icon-size: 1.091em !important; }
+
+.background-app-item .popup-menu-icon {
+ icon-size: 32px !important;
+ -st-icon-style: regular !important; }
+
+.background-app-item .icon-button, .background-app-item .login-dialog-button.a11y-button, .background-app-item .login-dialog-button.cancel-button, .background-app-item .login-dialog-button.switch-user-button, .background-app-item .login-dialog-button.login-dialog-session-list-button, .background-app-item .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .background-app-item .pager-button, .background-app-item .message-notification-group .message-collapse-button, .message-notification-group .background-app-item .message-collapse-button, .background-app-item .message .message-header .message-expand-button, .message .message-header .background-app-item .message-expand-button,
+.background-app-item .message .message-header .message-close-button,
+.message .message-header .background-app-item .message-close-button, .background-app-item .screenshot-ui-show-pointer-button {
+ padding: 6px;
+ background-color: rgba(255, 255, 255, 0.13); }
+ .background-app-item .icon-button:hover, .background-app-item .login-dialog-button.a11y-button:hover, .background-app-item .login-dialog-button.cancel-button:hover, .background-app-item .login-dialog-button.switch-user-button:hover, .background-app-item .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .background-app-item .pager-button:hover, .background-app-item .message-notification-group .message-collapse-button:hover, .message-notification-group .background-app-item .message-collapse-button:hover, .background-app-item .message .message-header .message-expand-button:hover, .message .message-header .background-app-item .message-expand-button:hover,
+ .background-app-item .message .message-header .message-close-button:hover,
+ .message .message-header .background-app-item .message-close-button:hover, .background-app-item .screenshot-ui-show-pointer-button:hover {
+ background-color: rgba(255, 255, 255, 0.22); }
+ .background-app-item .icon-button:active, .background-app-item .login-dialog-button.a11y-button:active, .background-app-item .login-dialog-button.cancel-button:active, .background-app-item .login-dialog-button.switch-user-button:active, .background-app-item .login-dialog-button.login-dialog-session-list-button:active, .background-app-item .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .background-app-item .pager-button:active, .background-app-item .message-notification-group .message-collapse-button:active, .message-notification-group .background-app-item .message-collapse-button:active, .background-app-item .message .message-header .message-expand-button:active, .message .message-header .background-app-item .message-expand-button:active,
+ .background-app-item .message .message-header .message-close-button:active,
+ .message .message-header .background-app-item .message-close-button:active, .background-app-item .screenshot-ui-show-pointer-button:active {
+ background-color: rgba(255, 255, 255, 0.31); }
+
+.background-app-item .spinner {
+ padding: 6px; }
+
+.background-app-item.popup-inactive-menu-item {
+ color: #ffffff; }
+
+/* OVERVIEW */
+.secondary-monitor-workspaces {
+ spacing: 12px; }
+
+#overviewGroup {
+ background-color: #222226; }
+
+/* Window Picker */
+.window-picker {
+ spacing: 6px; }
+
+.window-close, .screenshot-ui-close-button {
+ background-color: rgba(63, 63, 70, 0.98);
+ color: #fafafb;
+ border-radius: 999px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
+ padding: 3px;
+ height: 32px;
+ width: 32px;
+ transition-duration: 100ms;
+ border: 2px solid transparent; }
+ .window-close StIcon, .screenshot-ui-close-button StIcon {
+ icon-size: 24px; }
+ .window-close:hover, .screenshot-ui-close-button:hover {
+ background-color: rgba(80, 80, 89, 0.98); }
+ .window-close:active, .screenshot-ui-close-button:active {
+ background-color: rgba(94, 94, 105, 0.98); }
+
+.workspace-background {
+ border-radius: 30px;
+ background-color: rgba(3, 2, 1, 0);
+ box-shadow: 0 4px 16px 4px rgba(0, 0, 0, 0.2); }
+
+.search-entry {
+ border-radius: 999px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ width: 24em; }
+ .search-entry .search-entry-icon {
+ icon-size: 1.091em;
+ margin-top: 2px;
+ padding: 0 4px; }
+
+/* Search */
+#searchResults {
+ margin: 0 4px; }
+
+#searchResultsContent {
+ max-width: 1044px; }
+
+.search-section {
+ spacing: 18px; }
+ .search-section .search-section-separator {
+ height: 8px;
+ background-color: transparent; }
+
+.search-section-content {
+ background-color: #38383b;
+ color: #fafafb;
+ border-radius: 24px;
+ padding: 12px;
+ margin: 0 12px;
+ border: 2px solid transparent; }
+
+.list-search-result, .search-provider-icon {
+ color: #fafafb;
+ background-color: #38383b;
+ background-color: transparent;
+ border-radius: 13.2px; }
+ .list-search-result:focus, .search-provider-icon:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(56, 56, 59, 0.25), 5%); }
+ .list-search-result:focus:hover, .search-provider-icon:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 7%), 5%); }
+ .list-search-result:hover, .search-provider-icon:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .list-search-result:active, .search-provider-icon:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .list-search-result:active:hover, .search-provider-icon:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .list-search-result:active:focus, .search-provider-icon:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 9%), 5%); }
+ .list-search-result:highlighted, .search-provider-icon:highlighted, .list-search-result:selected, .search-provider-icon:selected, .list-search-result:checked, .search-provider-icon:checked {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ .list-search-result:highlighted:hover, .search-provider-icon:highlighted:hover, .list-search-result:selected:hover, .search-provider-icon:selected:hover, .list-search-result:checked:hover, .search-provider-icon:checked:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ .list-search-result:highlighted:active, .search-provider-icon:highlighted:active, .list-search-result:selected:active, .search-provider-icon:selected:active, .list-search-result:checked:active, .search-provider-icon:checked:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ .list-search-result:insensitive, .search-provider-icon:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: #38383b; }
+ .list-search-result:drop, .search-provider-icon:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.search-statusbox {
+ spacing: 24px; }
+
+.search-statustext {
+ color: rgba(250, 250, 251, 0.8); }
+
+.grid-search-results {
+ spacing: 30px; }
+
+.search-provider-icon:ltr {
+ margin-right: 4px; }
+
+.search-provider-icon:rtl {
+ margin-left: 4px; }
+
+.search-provider-icon .list-search-provider-content {
+ spacing: 12px; }
+ .search-provider-icon .list-search-provider-content .list-search-provider-details {
+ width: 120px;
+ color: #fafafb; }
+
+.list-search-results {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-content {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-title {
+ spacing: 12px; }
+
+.list-search-result .list-search-result-description {
+ color: #afafb1; }
+
+/* Dash */
+#dash {
+ padding-left: 6px;
+ padding-right: 6px; }
+ #dash .dash-background {
+ background-color: #38383b;
+ border-radius: 28px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ padding-left: 10px;
+ padding-right: 10px; }
+ #dash .dash-item-container .placeholder {
+ background-image: none;
+ background-size: contain;
+ height: 32px; }
+ #dash .dash-item-container .empty-dash-drop-target {
+ width: 32px;
+ height: 32px; }
+ #dash .dash-item-container .show-apps,
+ #dash .dash-item-container .overview-tile,
+ #dash .dash-item-container .grid-search-result {
+ margin: 0 2px;
+ padding-bottom: 12px; }
+ #dash .dash-item-container .show-apps .overview-icon,
+ #dash .dash-item-container .overview-tile .overview-icon,
+ #dash .dash-item-container .grid-search-result .overview-icon {
+ color: #fafafb;
+ background-color: #38383b; }
+ #dash .dash-item-container .show-apps:focus .overview-icon,
+ #dash .dash-item-container .overview-tile:focus .overview-icon,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(56, 56, 59, 0.25), 5%); }
+ #dash .dash-item-container .show-apps:focus .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:focus .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 7%), 5%); }
+ #dash .dash-item-container .show-apps:hover .overview-icon,
+ #dash .dash-item-container .overview-tile:hover .overview-icon,
+ #dash .dash-item-container .grid-search-result:hover .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ #dash .dash-item-container .show-apps:active .overview-icon,
+ #dash .dash-item-container .overview-tile:active .overview-icon,
+ #dash .dash-item-container .grid-search-result:active .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:active .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:focus,
+ #dash .dash-item-container .overview-tile:active .overview-icon:focus,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 9%), 5%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon,
+ #dash .dash-item-container .overview-tile:checked .overview-icon,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:active,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:active,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ #dash .dash-item-container .app-grid-running-dot {
+ offset-y: -12px; }
+ #dash .dash-separator {
+ width: 1px;
+ margin-left: 4px;
+ margin-right: 4px;
+ background-color: rgba(250, 250, 251, 0.1); }
+ #dash .dash-separator,
+ #dash .dash-background {
+ margin-bottom: 12px; }
+
+.dash-label {
+ -y-offset: 8px; }
+
+/* App Grid */
+.icon-grid {
+ row-spacing: 12px;
+ column-spacing: 12px;
+ max-row-spacing: 36px;
+ max-column-spacing: 36px;
+ page-padding-top: 24px;
+ page-padding-bottom: 24px;
+ page-padding-left: 18px;
+ page-padding-right: 18px; }
+
+/* App Icons */
+.overview-tile, .grid-search-result {
+ color: #fafafb;
+ background-color: #222226;
+ background-color: transparent;
+ border-radius: 24px;
+ padding: 12px; }
+ .overview-tile:focus, .grid-search-result:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(34, 34, 38, 0.25), 5%); }
+ .overview-tile:focus:hover, .grid-search-result:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 7%), 5%); }
+ .overview-tile:hover, .grid-search-result:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .overview-tile:active, .grid-search-result:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .overview-tile:active:hover, .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .overview-tile:active:focus, .grid-search-result:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 9%), 5%); }
+ .overview-tile:highlighted, .grid-search-result:highlighted, .overview-tile:selected, .grid-search-result:selected, .overview-tile:checked, .grid-search-result:checked {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 8%); }
+ .overview-tile:highlighted:hover, .grid-search-result:highlighted:hover, .overview-tile:selected:hover, .grid-search-result:selected:hover, .overview-tile:checked:hover, .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#222226, 8%), 7%); }
+ .overview-tile:highlighted:active, .grid-search-result:highlighted:active, .overview-tile:selected:active, .grid-search-result:selected:active, .overview-tile:checked:active, .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#222226, 8%), 9%); }
+ .overview-tile:insensitive, .grid-search-result:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: #222226; }
+ .overview-tile:drop, .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .overview-tile .overview-icon.overview-icon-with-label > StBoxLayout, .grid-search-result .overview-icon.overview-icon-with-label > StBoxLayout {
+ spacing: 6px; }
+
+.app-folder {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 9%); }
+ .app-folder:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#fafafb, #222226, 9%), 5%); }
+ .app-folder:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 4%), 5%); }
+ .app-folder:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 4%); }
+ .app-folder:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 9%); }
+ .app-folder:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 4%); }
+ .app-folder:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 5%); }
+ .app-folder:highlighted, .app-folder:selected, .app-folder:checked {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 8%); }
+ .app-folder:highlighted:hover, .app-folder:selected:hover, .app-folder:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 8%), 4%); }
+ .app-folder:highlighted:active, .app-folder:selected:active, .app-folder:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 8%), 9%); }
+ .app-folder:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: st-darken(st-mix(#fafafb, #222226, 9%), 3%); }
+ .app-folder:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.app-grid-running-dot {
+ height: 5px;
+ width: 5px;
+ border-radius: 5px;
+ background-color: #fafafb;
+ offset-y: 6px; }
+
+.app-folder-dialog-container {
+ padding-top: 2.2em; }
+
+.app-folder-dialog {
+ width: 720px;
+ height: 720px;
+ border-radius: 64px;
+ background-color: #38383b;
+ color: #fafafb;
+ padding: 0 1px;
+ box-shadow: inset 0 0 0 1px rgba(250, 250, 251, 0.1); }
+ .app-folder-dialog .folder-name-container {
+ padding: 24px 36px;
+ padding-bottom: 0; }
+ .app-folder-dialog .folder-name-container .folder-name-entry {
+ width: 12em; }
+ .app-folder-dialog .icon-button, .app-folder-dialog .login-dialog-button.a11y-button, .app-folder-dialog .login-dialog-button.cancel-button, .app-folder-dialog .login-dialog-button.switch-user-button, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button, .app-folder-dialog .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .app-folder-dialog .pager-button, .app-folder-dialog .message-notification-group .message-collapse-button, .message-notification-group .app-folder-dialog .message-collapse-button, .app-folder-dialog .message .message-header .message-expand-button, .message .message-header .app-folder-dialog .message-expand-button,
+ .app-folder-dialog .message .message-header .message-close-button,
+ .message .message-header .app-folder-dialog .message-close-button, .app-folder-dialog .screenshot-ui-show-pointer-button {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #38383b, 9%); }
+ .app-folder-dialog .icon-button:hover, .app-folder-dialog .login-dialog-button.a11y-button:hover, .app-folder-dialog .login-dialog-button.cancel-button:hover, .app-folder-dialog .login-dialog-button.switch-user-button:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:hover, .app-folder-dialog .message-notification-group .message-collapse-button:hover, .message-notification-group .app-folder-dialog .message-collapse-button:hover, .app-folder-dialog .message .message-header .message-expand-button:hover, .message .message-header .app-folder-dialog .message-expand-button:hover,
+ .app-folder-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .app-folder-dialog .message-close-button:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #38383b, 9%), 4%); }
+ .app-folder-dialog .icon-button:active, .app-folder-dialog .login-dialog-button.a11y-button:active, .app-folder-dialog .login-dialog-button.cancel-button:active, .app-folder-dialog .login-dialog-button.switch-user-button:active, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active, .app-folder-dialog .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .app-folder-dialog .pager-button:active, .app-folder-dialog .message-notification-group .message-collapse-button:active, .message-notification-group .app-folder-dialog .message-collapse-button:active, .app-folder-dialog .message .message-header .message-expand-button:active, .message .message-header .app-folder-dialog .message-expand-button:active,
+ .app-folder-dialog .message .message-header .message-close-button:active,
+ .message .message-header .app-folder-dialog .message-close-button:active, .app-folder-dialog .screenshot-ui-show-pointer-button:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #38383b, 9%), 9%); }
+ .app-folder-dialog .icon-button:active:hover, .app-folder-dialog .login-dialog-button.a11y-button:active:hover, .app-folder-dialog .login-dialog-button.cancel-button:active:hover, .app-folder-dialog .login-dialog-button.switch-user-button:active:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:hover, .app-folder-dialog .message-notification-group .message-collapse-button:active:hover, .message-notification-group .app-folder-dialog .message-collapse-button:active:hover, .app-folder-dialog .message .message-header .message-expand-button:active:hover, .message .message-header .app-folder-dialog .message-expand-button:active:hover,
+ .app-folder-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .app-folder-dialog .message-close-button:active:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #38383b, 9%), 9%), 4%); }
+ .app-folder-dialog .icon-button:active:focus, .app-folder-dialog .login-dialog-button.a11y-button:active:focus, .app-folder-dialog .login-dialog-button.cancel-button:active:focus, .app-folder-dialog .login-dialog-button.switch-user-button:active:focus, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:focus, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:focus, .app-folder-dialog .message-notification-group .message-collapse-button:active:focus, .message-notification-group .app-folder-dialog .message-collapse-button:active:focus, .app-folder-dialog .message .message-header .message-expand-button:active:focus, .message .message-header .app-folder-dialog .message-expand-button:active:focus,
+ .app-folder-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #38383b, 9%), 9%), 5%); }
+ .app-folder-dialog .page-indicators {
+ margin-bottom: 24px; }
+ .app-folder-dialog .page-navigation-arrow {
+ color: #fafafb;
+ background-color: #38383b; }
+ .app-folder-dialog .page-navigation-arrow:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .app-folder-dialog .page-navigation-arrow:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .app-folder-dialog .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .app-folder-dialog .page-navigation-arrow:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 9%), 5%); }
+ .app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result {
+ color: #fafafb;
+ background-color: #38383b;
+ background-color: transparent; }
+ .app-folder-dialog .overview-tile:focus, .app-folder-dialog .grid-search-result:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(56, 56, 59, 0.25), 5%); }
+ .app-folder-dialog .overview-tile:focus:hover, .app-folder-dialog .grid-search-result:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 7%), 5%); }
+ .app-folder-dialog .overview-tile:hover, .app-folder-dialog .grid-search-result:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .app-folder-dialog .overview-tile:active, .app-folder-dialog .grid-search-result:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .app-folder-dialog .overview-tile:active:hover, .app-folder-dialog .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .app-folder-dialog .overview-tile:active:focus, .app-folder-dialog .grid-search-result:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#38383b, 9%), 5%); }
+ .app-folder-dialog .overview-tile:highlighted, .app-folder-dialog .grid-search-result:highlighted, .app-folder-dialog .overview-tile:selected, .app-folder-dialog .grid-search-result:selected, .app-folder-dialog .overview-tile:checked, .app-folder-dialog .grid-search-result:checked {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ .app-folder-dialog .overview-tile:highlighted:hover, .app-folder-dialog .grid-search-result:highlighted:hover, .app-folder-dialog .overview-tile:selected:hover, .app-folder-dialog .grid-search-result:selected:hover, .app-folder-dialog .overview-tile:checked:hover, .app-folder-dialog .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ .app-folder-dialog .overview-tile:highlighted:active, .app-folder-dialog .grid-search-result:highlighted:active, .app-folder-dialog .overview-tile:selected:active, .app-folder-dialog .grid-search-result:selected:active, .app-folder-dialog .overview-tile:checked:active, .app-folder-dialog .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ .app-folder-dialog .overview-tile:insensitive, .app-folder-dialog .grid-search-result:insensitive {
+ color: st-transparentize(#fafafb, 0.5);
+ background-color: #38383b; }
+ .app-folder-dialog .overview-tile:drop, .app-folder-dialog .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.rename-folder-popup .rename-folder-popup-item {
+ spacing: 6px; }
+ .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl {
+ padding: 0 12px; }
+
+.page-indicator {
+ padding: 6px 12px 0;
+ transition-duration: 400ms; }
+ .page-indicator .page-indicator-icon {
+ width: 10px;
+ height: 10px;
+ border-radius: 999px;
+ background-color: #fafafb;
+ transition-duration: 400ms; }
+
+.apps-scroll-view {
+ padding: 0; }
+
+.system-action-icon {
+ background-color: rgba(250, 250, 251, 0.1);
+ color: #fafafb;
+ border-radius: 999px;
+ icon-size: 48px; }
+
+.page-navigation-hint.dnd {
+ background: rgba(255, 255, 255, 0.1); }
+
+.page-navigation-hint.next:ltr, .page-navigation-hint.previous:rtl {
+ background-gradient-start: rgba(255, 255, 255, 0.05);
+ background-gradient-end: transparent;
+ background-gradient-direction: horizontal;
+ border-radius: 24px 0px 0px 24px; }
+
+.page-navigation-hint.previous:ltr, .page-navigation-hint.next:rtl {
+ background-gradient-start: transparent;
+ background-gradient-end: rgba(255, 255, 255, 0.05);
+ background-gradient-direction: horizontal;
+ border-radius: 0px 24px 24px 0px; }
+
+.page-navigation-arrow {
+ margin: 6px;
+ padding: 18px;
+ width: 24px;
+ height: 24px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ color: #fafafb;
+ background-color: #222226; }
+ .page-navigation-arrow > StIcon {
+ color: #fafafb; }
+ .page-navigation-arrow:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .page-navigation-arrow:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .page-navigation-arrow:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 9%), 5%); }
+
+/* Workspace pager */
+.workspace-thumbnails {
+ visible-width: 32px;
+ spacing: 6px;
+ padding: 6px; }
+ .workspace-thumbnails .workspace-thumbnail {
+ color: #fafafb;
+ background-color: #46464e;
+ border-radius: 4px;
+ border: 1px solid transparent; }
+ .workspace-thumbnails .placeholder {
+ background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
+ background-size: contain;
+ width: 18px; }
+
+.workspace-thumbnail-indicator {
+ border: 3px solid -st-accent-color;
+ border-radius: 8px; }
+
+.ripple-pointer-location {
+ width: 50px;
+ height: 50px;
+ border-radius: 25px;
+ background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 30%);
+ box-shadow: 0 0 2px 2px st-lighten(-st-accent-color, 20%); }
+
+.pie-timer {
+ width: 60px;
+ height: 60px;
+ -pie-border-width: 3px;
+ -pie-border-color: -st-accent-color;
+ -pie-background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 40%); }
+
+.magnifier-zoom-region {
+ border: 2px solid -st-accent-color; }
+ .magnifier-zoom-region.full-screen {
+ border-width: 0; }
+
+.select-area-rubberband {
+ background-color: st-transparentize(-st-accent-color, 0.7);
+ border: 1px solid -st-accent-color; }
+
+.user-icon {
+ background-size: contain;
+ border-radius: 999px;
+ icon-size: 64px;
+ background-color: rgba(255, 255, 255, 0.05);
+ color: #ffffff; }
+ .user-icon StIcon {
+ padding: 12px; }
+ .user-icon.user-avatar {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1); }
+
+.lightbox {
+ background-color: black; }
+
+.flashspot {
+ background-color: white; }
+
+.hidden {
+ color: transparent; }
+
+.caps-lock-warning-label {
+ text-align: center;
+ padding-bottom: 8px;
+ color: #cd9309; }
+
+/* Workspace animation */
+.workspace-animation {
+ background-color: #2e2e33; }
+
+/* Tiled window previews */
+.tile-preview {
+ background-color: st-transparentize(-st-accent-color, 0.5);
+ border: 1px solid -st-accent-color; }
+
+/* On-screen Keyboard */
+#keyboard {
+ background-color: #2e2e33;
+ box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.02); }
+ #keyboard .page-indicator {
+ padding: 6px; }
+ #keyboard .page-indicator .page-indicator-icon {
+ width: 8px;
+ height: 8px; }
+
+.key-container {
+ padding: 4px;
+ spacing: 4px; }
+
+.keyboard-key {
+ font-size: 1.455em;
+ font-weight: bold;
+ border-radius: 0.546em;
+ box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.2);
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #4d4d4d, 9%); }
+ .keyboard-key:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #36363a, 9%), 5%); }
+ .keyboard-key:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #36363a, 9%), 4%), 5%); }
+ .keyboard-key:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 4%); }
+ .keyboard-key:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%); }
+ .keyboard-key:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 4%); }
+ .keyboard-key:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 5%); }
+ .keyboard-key:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%); }
+ .keyboard-key:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 4%); }
+ .keyboard-key:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 9%); }
+ .keyboard-key.default-key {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #333333, 9%);
+ border: none; }
+ .keyboard-key.default-key:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #333333, 9%), 4%); }
+ .keyboard-key.default-key:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #333333, 9%), 9%); }
+ .keyboard-key.default-key:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 9%), 4%); }
+ .keyboard-key.default-key:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #333333, 9%), 9%), 5%); }
+ .keyboard-key.default-key:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #333333, 9%), 8%); }
+ .keyboard-key.default-key:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 8%), 4%); }
+ .keyboard-key.default-key:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 8%), 9%); }
+ .keyboard-key.default-key:latched {
+ background-color: -st-accent-color; }
+ .keyboard-key StIcon {
+ icon-size: 1.6365em; }
+
+.keyboard-subkeys-boxpointer {
+ -arrow-border-radius: 22px;
+ -arrow-background-color: #2e2e33;
+ -arrow-border-width: 1px;
+ -arrow-border-color: #44444c;
+ -arrow-base: 20px;
+ -arrow-rise: 10px;
+ -boxpointer-gap: 4px;
+ border-radius: 22px;
+ box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1); }
+ .keyboard-subkeys-boxpointer .key-container {
+ padding: 12px;
+ spacing: 8px; }
+
+.emoji-page .keyboard-key {
+ background-color: transparent;
+ border: none;
+ color: initial; }
+
+.emoji-panel .keyboard-key:latched {
+ border-color: st-lighten(-st-accent-color, 5%);
+ background-color: -st-accent-color; }
+
+.word-suggestions {
+ spacing: 12px;
+ min-height: 17pt;
+ padding: 12px;
+ color: #ffffff; }
+ .word-suggestions StButton {
+ margin: 0 3px;
+ min-width: 32px;
+ border-radius: 4px;
+ padding: 6px 18px;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .word-suggestions StButton:insensitive {
+ background-color: transparent !important; }
+ .word-suggestions StButton:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#ffffff, #36363a, 9%), 5%); }
+ .word-suggestions StButton:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #36363a, 9%), 4%), 5%); }
+ .word-suggestions StButton:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 4%); }
+ .word-suggestions StButton:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%); }
+ .word-suggestions StButton:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 4%); }
+ .word-suggestions StButton:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 5%); }
+ .word-suggestions StButton:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%); }
+ .word-suggestions StButton:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 4%); }
+ .word-suggestions StButton:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 9%); }
+
+/* Looking Glass */
+.lg-dialog StEntry {
+ min-height: 1.5em; }
+
+.lg-dialog .shell-link {
+ color: st-lighten(-st-accent-color, 20%); }
+ .lg-dialog .shell-link:hover {
+ color: st-lighten(st-lighten(-st-accent-color, 20%), 10%); }
+ .lg-dialog .shell-link:active {
+ color: st-darken(st-lighten(-st-accent-color, 20%), 10%); }
+
+.lg-dialog .actor-link {
+ color: st-darken(#ffffff, 20%); }
+ .lg-dialog .actor-link:hover {
+ color: #ffffff; }
+ .lg-dialog .actor-link:active {
+ color: st-lighten(#ffffff, 20%); }
+ .lg-dialog .actor-link StIcon {
+ icon-size: 12px; }
+
+.lg-completions-text {
+ font-style: italic; }
+
+#LookingGlassDialog {
+ background-color: rgba(46, 46, 51, 0.98);
+ color: #ffffff;
+ border-radius: 16px;
+ margin-top: 4px;
+ border: 2px solid transparent;
+ padding: 6px;
+ spacing: 6px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); }
+ #LookingGlassDialog > #Toolbar {
+ border: none;
+ padding: 6px;
+ border-radius: 0;
+ background-color: transparent;
+ spacing: 6px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ padding: 6px 12px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button > StIcon {
+ icon-size: 16px; }
+ #LookingGlassDialog .labels {
+ spacing: 6px; }
+ #LookingGlassDialog .notebook-tab {
+ background-color: transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 12px;
+ padding: 6px 12px; }
+ #LookingGlassDialog .notebook-tab:selected {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%); }
+ #LookingGlassDialog .notebook-tab:selected:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%), 4%); }
+ #LookingGlassDialog .notebook-tab:selected:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#ffffff, #2e2e33, 9%), 9%), 5%); }
+
+#LookingGlassPropertyInspector {
+ background-color: #2e2e33;
+ color: #ffffff;
+ border-radius: 16px;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ padding: 12px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-title {
+ spacing: 4px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button {
+ padding: 6px 12px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button {
+ margin: 4px;
+ padding: 6px;
+ border-radius: 999px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button > StIcon {
+ icon-size: 16px; }
+
+#LookingGlassEvaluator {
+ padding: 6px; }
+ #LookingGlassEvaluator .evaluator-results {
+ spacing: 6px; }
+
+#LookingGlassWindows {
+ padding: 6px;
+ spacing: 6px; }
+ #LookingGlassWindows .lg-window {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 9%);
+ margin: 0;
+ padding: 12px; }
+
+#LookingGlassExtensions .lg-extensions-list {
+ padding: 6px;
+ spacing: 6px; }
+
+#LookingGlassExtensions .lg-extension {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 9%);
+ margin: 0;
+ spacing: 4px;
+ padding: 12px; }
+ #LookingGlassExtensions .lg-extension .lg-extension-name {
+ color: #ffffff !important; }
+ #LookingGlassExtensions .lg-extension .lg-extension-meta {
+ spacing: 12px; }
+
+#LookingGlassExtensions .lg-extensions-none {
+ color: rgba(255, 255, 255, 0.5); }
+
+#LookingGlassActors {
+ padding: 6px;
+ spacing: 4px; }
+
+#LookingGlassDebugFlags .lg-debug-flags-header {
+ padding: 6px;
+ padding-top: 12px; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button {
+ padding: 9px 12px;
+ margin-bottom: 6px; }
+ #LookingGlassDebugFlags .lg-debug-flag-button StLabel {
+ font-weight: normal !important; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch {
+ background: rgba(255, 255, 255, 0.15); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:hover {
+ background: rgba(255, 255, 255, 0.2); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.login-dialog,
+.unlock-dialog {
+ color: #fafafb; }
+ .login-dialog .caps-lock-warning-label,
+ .login-dialog .login-dialog-message-warning,
+ .unlock-dialog .caps-lock-warning-label,
+ .unlock-dialog .login-dialog-message-warning {
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-layout,
+ .unlock-dialog .login-dialog-prompt-layout {
+ width: 25em;
+ spacing: 9px; }
+
+.login-dialog-bottom-button-group {
+ padding: 32px;
+ spacing: 16px; }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ padding: 1.091em; }
+
+.login-dialog-button.cancel-button {
+ padding: 9px; }
+
+.login-dialog-button-box {
+ spacing: 12px; }
+
+.conflicting-session-dialog-content {
+ spacing: 20px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-title {
+ text-align: center;
+ margin-bottom: 5px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc {
+ text-align: center; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc-warning {
+ text-align: center;
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+.login-dialog-logo-bin {
+ margin: 3em 0; }
+
+.login-dialog-banner-view {
+ max-width: 25em; }
+ .login-dialog-banner-view .login-dialog-banner {
+ color: #dedee4; }
+
+.login-dialog-message {
+ text-align: center; }
+
+.login-dialog-message-hint, .login-dialog-message {
+ color: #dedee4;
+ min-height: 2.75em; }
+
+.login-dialog-user-selection-box {
+ padding-top: 4em;
+ padding-bottom: 8em; }
+
+.login-dialog-not-listed-label {
+ padding: 6px; }
+
+.login-dialog-not-listed-button {
+ color: #fafafb;
+ background-color: #222226;
+ padding: 0 6px;
+ margin: 6px; }
+ .login-dialog-not-listed-button:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(34, 34, 38, 0.25), 5%); }
+ .login-dialog-not-listed-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 7%), 5%); }
+ .login-dialog-not-listed-button:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .login-dialog-not-listed-button:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .login-dialog-not-listed-button:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .login-dialog-not-listed-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(#222226, 9%), 5%); }
+
+.login-dialog-auth-list-view {
+ -st-vfade-offset: 3em; }
+
+.login-dialog-auth-list {
+ spacing: 6px;
+ margin-left: 2em; }
+
+.login-dialog-auth-list-title {
+ margin-left: 2em;
+ padding-bottom: 6px; }
+
+.login-dialog .login-dialog-auth-list-item {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 9%);
+ border-radius: 9.6px;
+ padding: 7.2px; }
+ .login-dialog .login-dialog-auth-list-item:selected, .login-dialog .login-dialog-auth-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#fafafb, #222226, 9%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:selected:hover, .login-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 4%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 4%); }
+ .login-dialog .login-dialog-auth-list-item:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 9%); }
+ .login-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 4%); }
+ .login-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 5%); }
+
+.unlock-dialog .login-dialog-auth-list-item {
+ border-radius: 9.6px;
+ padding: 7.2px; }
+
+.login-dialog-auth-list-label:ltr {
+ padding-left: 15px;
+ text-align: left; }
+
+.login-dialog-auth-list-label:rtl {
+ padding-right: 15px;
+ text-align: right; }
+
+.login-dialog-user-list-view {
+ width: 25em;
+ -st-vfade-offset: 3em; }
+ .login-dialog-user-list-view .login-dialog-user-list {
+ margin: 0 8px;
+ spacing: 12px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 9%);
+ border-radius: 16px;
+ padding: 9px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.2) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#fafafb, #222226, 9%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected:hover, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 4%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 4%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 9%), 9%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 4%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-lighten(st-mix(#fafafb, #222226, 9%), 9%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
+ border: 2px solid transparent; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
+ height: 2px;
+ margin-top: 6px;
+ background-color: rgba(250, 250, 251, 0.7); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon {
+ border-color: -st-accent-color; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
+ background-color: st-transparentize(-st-accent-color, 0.7); }
+
+.unlock-dialog {
+ background-color: transparent; }
+
+.screen-shield-background {
+ background: black;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); }
+
+#lockDialogGroup {
+ background-color: #222226; }
+
+.unlock-dialog-clock {
+ color: #fafafb;
+ spacing: 2em; }
+ .unlock-dialog-clock .unlock-dialog-clock-time {
+ font-size: 6.546em;
+ font-weight: 800; }
+ .unlock-dialog-clock .unlock-dialog-clock-date {
+ font-weight: 400; }
+ .unlock-dialog-clock .unlock-dialog-clock-hint {
+ margin-top: 2em;
+ padding: 6px 18px;
+ border-radius: 16px;
+ font-weight: bold; }
+
+.parental-controls-shield {
+ spacing: 0.75em; }
+ .parental-controls-shield .parental-controls-shield-title {
+ margin-top: 0.6em;
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-description {
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-button {
+ margin-top: 0.85em;
+ padding: 16px 44px;
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1);
+ border-radius: 999px; }
+
+#unlockDialogNotifications > .vhandle, #unlockDialogNotifications > .hhandle {
+ background-color: rgba(54, 54, 58, 0.3); }
+ #unlockDialogNotifications > .vhandle:hover, #unlockDialogNotifications > .vhandle:focus, #unlockDialogNotifications > .hhandle:hover, #unlockDialogNotifications > .hhandle:focus {
+ background-color: rgba(54, 54, 58, 0.5); }
+ #unlockDialogNotifications > .vhandle:active, #unlockDialogNotifications > .hhandle:active {
+ background-color: st-transparentize(-st-accent-color, 0.5); }
+
+.unlock-dialog-notifications-container {
+ margin: 12px;
+ spacing: 6px;
+ width: 25em;
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .summary-notification-stack-scrollview {
+ padding-top: 0;
+ padding-bottom: 0; }
+ .unlock-dialog-notifications-container .message,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source {
+ padding: 12px 16px;
+ border: none;
+ background-color: rgba(250, 250, 251, 0.1);
+ color: #fafafb;
+ border-radius: 16px; }
+ .unlock-dialog-notifications-container .message.critical,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source.critical {
+ background-color: rgba(250, 250, 251, 0.2); }
+ .unlock-dialog-notifications-container .message:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source:active {
+ background-color: rgba(250, 250, 251, 0.1); }
+ .unlock-dialog-notifications-container .message StButton,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton {
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive {
+ background-color: transparent;
+ opacity: 0.5; }
+ .unlock-dialog-notifications-container .message .message-header,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source .message-header {
+ color: #fafafb; }
+
+.unlock-dialog-notification-icon {
+ icon-size: 32px; }
+
+.unlock-dialog-notification-label {
+ padding-left: 12px;
+ padding-right: 0; }
+ .unlock-dialog-notification-label:rtl {
+ padding-right: 12px;
+ padding-left: 0; }
+
+.unlock-dialog-notification-count-text {
+ font-weight: bold;
+ padding: 0 12px;
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1);
+ border-radius: 999px; }
+
+.login-dialog .user-widget .user-widget-label,
+.unlock-dialog .user-widget .user-widget-label {
+ color: #fafafb; }
+
+.login-dialog .user-widget .user-icon,
+.unlock-dialog .user-widget .user-icon {
+ background-color: rgba(250, 250, 251, 0.13);
+ color: #fafafb; }
+
+.login-dialog .user-widget.horizontal,
+.unlock-dialog .user-widget.horizontal {
+ spacing: 18px; }
+
+.login-dialog .user-widget.vertical,
+.unlock-dialog .user-widget.vertical {
+ spacing: 24px; }
+ .login-dialog .user-widget.vertical .user-widget-label,
+ .unlock-dialog .user-widget.vertical .user-widget-label {
+ font-weight: 400;
+ font-size: 1.818em;
+ text-align: center;
+ margin-bottom: .75em; }
+ .login-dialog .user-widget.vertical .user-icon,
+ .unlock-dialog .user-widget.vertical .user-icon {
+ icon-size: 160px; }
+ .login-dialog .user-widget.vertical .user-icon StIcon,
+ .unlock-dialog .user-widget.vertical .user-icon StIcon {
+ padding: 30px; }
--- /dev/null
- margin: 12px 18px 0; }
+/* This stylesheet is generated, DO NOT EDIT */
+/* Copyright 2009, 2015 Red Hat, Inc.
+ *
+ * Portions adapted from Mx's data/style/default.css
+ * Copyright 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+/* Global Values */
+stage {
+ font-size: 1em;
+ color: #ffffff; }
+
+/* Common Stylings */
+#dash .dash-item-container .show-apps,
+#dash .dash-item-container .overview-tile,
+#dash .dash-item-container .grid-search-result {
+ background: none;
+ box-shadow: none;
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0; }
+
+.app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result, .app-folder, .overview-tile, .grid-search-result, #dash .dash-item-container .show-apps .overview-icon,
+#dash .dash-item-container .overview-tile .overview-icon,
+#dash .dash-item-container .grid-search-result .overview-icon, .list-search-result, .search-provider-icon, .switcher-list .item-box, .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ border-radius: 16px;
+ padding: 6px;
+ spacing: 6px;
+ text-align: center;
+ transition-duration: 100ms; }
+
+.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item, .login-dialog .login-dialog-auth-list-item, .login-dialog-not-listed-button, .unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button, .unlock-dialog .login-dialog-auth-list-item, #LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button, #LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button, .icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ border-radius: 8px;
+ padding: 3px 24px;
+ font-weight: bold;
+ transition: border-width 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%); }
+ .icon-button:focus, .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus, .screenshot-ui-show-pointer-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus, .message-notification-group .message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .icon-button:focus:hover, .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover, .message-notification-group .message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 4%), #ffffff, 87%), 5%); }
+ .icon-button:hover, .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .screenshot-ui-show-pointer-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover, .message-notification-group .message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 4%), #ffffff, 87%); }
+ .icon-button:insensitive, .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive, .screenshot-ui-show-pointer-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive, .message-notification-group .message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #1a1a1a, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .icon-button:selected, .login-dialog-button.a11y-button:selected, .login-dialog-button.cancel-button:selected, .login-dialog-button.switch-user-button:selected, .login-dialog-button.login-dialog-session-list-button:selected, .screenshot-ui-show-pointer-button:selected, .message .message-header .message-expand-button:selected,
+ .message .message-header .message-close-button:selected, .message-notification-group .message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button:selected, .icon-button:active, .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active, .screenshot-ui-show-pointer-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active, .message-notification-group .message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 9%), #ffffff, 87%); }
+ .icon-button:selected:hover, .login-dialog-button.a11y-button:selected:hover, .login-dialog-button.cancel-button:selected:hover, .login-dialog-button.switch-user-button:selected:hover, .login-dialog-button.login-dialog-session-list-button:selected:hover, .screenshot-ui-show-pointer-button:selected:hover, .message .message-header .message-expand-button:selected:hover,
+ .message .message-header .message-close-button:selected:hover, .message-notification-group .message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button:selected:hover, .icon-button:active:hover, .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover, .screenshot-ui-show-pointer-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover, .message-notification-group .message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 9%), 4%); }
+ .icon-button:selected:focus, .login-dialog-button.a11y-button:selected:focus, .login-dialog-button.cancel-button:selected:focus, .login-dialog-button.switch-user-button:selected:focus, .login-dialog-button.login-dialog-session-list-button:selected:focus, .screenshot-ui-show-pointer-button:selected:focus, .message .message-header .message-expand-button:selected:focus,
+ .message .message-header .message-close-button:selected:focus, .message-notification-group .message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button:selected:focus, .icon-button:active:focus, .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus, .screenshot-ui-show-pointer-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus, .message-notification-group .message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 9%), #ffffff, 87%), 5%); }
+ .icon-button:checked, .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked, .screenshot-ui-show-pointer-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked, .message-notification-group .message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), #ffffff, 87%); }
+ .icon-button:checked:hover, .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover, .message-notification-group .message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 4%); }
+ .icon-button:checked:active, .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .screenshot-ui-show-pointer-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active, .message-notification-group .message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 9%); }
+
+.calendar .calendar-day-heading, .calendar .calendar-day, .calendar .calendar-month-header .calendar-month-label, .icon-button.flat, .flat.login-dialog-button.a11y-button, .flat.login-dialog-button.cancel-button, .flat.login-dialog-button.switch-user-button, .flat.login-dialog-button.login-dialog-session-list-button, .flat.screenshot-ui-show-pointer-button, .message .message-header .flat.message-expand-button,
+.message .message-header .flat.message-close-button, .message-notification-group .flat.message-collapse-button, .calendar .calendar-month-header .pager-button, .button.flat {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #1a1a1a;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .calendar .calendar-day-heading:focus, .calendar .calendar-day:focus, .calendar .calendar-month-header .calendar-month-label:focus, .icon-button.flat:focus, .flat.login-dialog-button.a11y-button:focus, .flat.login-dialog-button.cancel-button:focus, .flat.login-dialog-button.switch-user-button:focus, .flat.login-dialog-button.login-dialog-session-list-button:focus, .flat.screenshot-ui-show-pointer-button:focus, .message .message-header .flat.message-expand-button:focus,
+ .message .message-header .flat.message-close-button:focus, .message-notification-group .flat.message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button.flat:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(26, 26, 26, 0.25), 5%); }
+ .calendar .calendar-day-heading:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .calendar-month-label:focus:hover, .icon-button.flat:focus:hover, .flat.login-dialog-button.a11y-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .flat.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .flat.message-expand-button:focus:hover,
+ .message .message-header .flat.message-close-button:focus:hover, .message-notification-group .flat.message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button.flat:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 7%), #ffffff, 87%), 5%); }
+ .calendar .calendar-day-heading:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .calendar-month-label:hover, .icon-button.flat:hover, .flat.login-dialog-button.a11y-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .flat.screenshot-ui-show-pointer-button:hover, .message .message-header .flat.message-expand-button:hover,
+ .message .message-header .flat.message-close-button:hover, .message-notification-group .flat.message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button.flat:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 7%), #ffffff, 87%); }
+ .calendar .calendar-day-heading:insensitive, .calendar .calendar-day:insensitive, .calendar .calendar-month-header .calendar-month-label:insensitive, .icon-button.flat:insensitive, .flat.login-dialog-button.a11y-button:insensitive, .flat.login-dialog-button.cancel-button:insensitive, .flat.login-dialog-button.switch-user-button:insensitive, .flat.login-dialog-button.login-dialog-session-list-button:insensitive, .flat.screenshot-ui-show-pointer-button:insensitive, .message .message-header .flat.message-expand-button:insensitive,
+ .message .message-header .flat.message-close-button:insensitive, .message-notification-group .flat.message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button.flat:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #1a1a1a;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .calendar .calendar-day-heading:selected, .calendar .calendar-day:selected, .calendar .calendar-month-header .calendar-month-label:selected, .icon-button.flat:selected, .flat.login-dialog-button.a11y-button:selected, .flat.login-dialog-button.cancel-button:selected, .flat.login-dialog-button.switch-user-button:selected, .flat.login-dialog-button.login-dialog-session-list-button:selected, .flat.screenshot-ui-show-pointer-button:selected, .message .message-header .flat.message-expand-button:selected,
+ .message .message-header .flat.message-close-button:selected, .message-notification-group .flat.message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button.flat:selected, .calendar .calendar-day-heading:active, .calendar .calendar-day:active, .calendar .calendar-month-header .calendar-month-label:active, .icon-button.flat:active, .flat.login-dialog-button.a11y-button:active, .flat.login-dialog-button.cancel-button:active, .flat.login-dialog-button.switch-user-button:active, .flat.login-dialog-button.login-dialog-session-list-button:active, .flat.screenshot-ui-show-pointer-button:active, .message .message-header .flat.message-expand-button:active,
+ .message .message-header .flat.message-close-button:active, .message-notification-group .flat.message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button.flat:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%); }
+ .calendar .calendar-day-heading:selected:hover, .calendar .calendar-day:selected:hover, .calendar .calendar-month-header .calendar-month-label:selected:hover, .icon-button.flat:selected:hover, .flat.login-dialog-button.a11y-button:selected:hover, .flat.login-dialog-button.cancel-button:selected:hover, .flat.login-dialog-button.switch-user-button:selected:hover, .flat.login-dialog-button.login-dialog-session-list-button:selected:hover, .flat.screenshot-ui-show-pointer-button:selected:hover, .message .message-header .flat.message-expand-button:selected:hover,
+ .message .message-header .flat.message-close-button:selected:hover, .message-notification-group .flat.message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button.flat:selected:hover, .calendar .calendar-day-heading:active:hover, .calendar .calendar-day:active:hover, .calendar .calendar-month-header .calendar-month-label:active:hover, .icon-button.flat:active:hover, .flat.login-dialog-button.a11y-button:active:hover, .flat.login-dialog-button.cancel-button:active:hover, .flat.login-dialog-button.switch-user-button:active:hover, .flat.login-dialog-button.login-dialog-session-list-button:active:hover, .flat.screenshot-ui-show-pointer-button:active:hover, .message .message-header .flat.message-expand-button:active:hover,
+ .message .message-header .flat.message-close-button:active:hover, .message-notification-group .flat.message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button.flat:active:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 9%), 7%); }
+ .calendar .calendar-day-heading:selected:focus, .calendar .calendar-day:selected:focus, .calendar .calendar-month-header .calendar-month-label:selected:focus, .icon-button.flat:selected:focus, .flat.login-dialog-button.a11y-button:selected:focus, .flat.login-dialog-button.cancel-button:selected:focus, .flat.login-dialog-button.switch-user-button:selected:focus, .flat.login-dialog-button.login-dialog-session-list-button:selected:focus, .flat.screenshot-ui-show-pointer-button:selected:focus, .message .message-header .flat.message-expand-button:selected:focus,
+ .message .message-header .flat.message-close-button:selected:focus, .message-notification-group .flat.message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button.flat:selected:focus, .calendar .calendar-day-heading:active:focus, .calendar .calendar-day:active:focus, .calendar .calendar-month-header .calendar-month-label:active:focus, .icon-button.flat:active:focus, .flat.login-dialog-button.a11y-button:active:focus, .flat.login-dialog-button.cancel-button:active:focus, .flat.login-dialog-button.switch-user-button:active:focus, .flat.login-dialog-button.login-dialog-session-list-button:active:focus, .flat.screenshot-ui-show-pointer-button:active:focus, .message .message-header .flat.message-expand-button:active:focus,
+ .message .message-header .flat.message-close-button:active:focus, .message-notification-group .flat.message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button.flat:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .calendar .calendar-day-heading:checked, .calendar .calendar-day:checked, .calendar .calendar-month-header .calendar-month-label:checked, .icon-button.flat:checked, .flat.login-dialog-button.a11y-button:checked, .flat.login-dialog-button.cancel-button:checked, .flat.login-dialog-button.switch-user-button:checked, .flat.login-dialog-button.login-dialog-session-list-button:checked, .flat.screenshot-ui-show-pointer-button:checked, .message .message-header .flat.message-expand-button:checked,
+ .message .message-header .flat.message-close-button:checked, .message-notification-group .flat.message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button.flat:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 8%), #ffffff, 87%); }
+ .calendar .calendar-day-heading:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .calendar-month-label:checked:hover, .icon-button.flat:checked:hover, .flat.login-dialog-button.a11y-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .flat.screenshot-ui-show-pointer-button:checked:hover, .message .message-header .flat.message-expand-button:checked:hover,
+ .message .message-header .flat.message-close-button:checked:hover, .message-notification-group .flat.message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button.flat:checked:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 8%), 7%); }
+ .calendar .calendar-day-heading:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .calendar-month-label:checked:active, .icon-button.flat:checked:active, .flat.login-dialog-button.a11y-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .flat.screenshot-ui-show-pointer-button:checked:active, .message .message-header .flat.message-expand-button:checked:active,
+ .message .message-header .flat.message-close-button:checked:active, .message-notification-group .flat.message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button.flat:checked:active {
+ background-color: st-lighten(st-lighten(#1a1a1a, 8%), 9%); }
+
+.keyboard-brightness-level .button:checked, .quick-toggle:checked, .calendar .calendar-day.calendar-today, .icon-button.default, .default.login-dialog-button.a11y-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .default.screenshot-ui-show-pointer-button, .message .message-header .default.message-expand-button,
+.message .message-header .default.message-close-button, .message-notification-group .default.message-collapse-button, .calendar .calendar-month-header .default.pager-button, .button.default {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(-st-accent-color, #ffffff, 87%); }
+ .keyboard-brightness-level .button:focus:checked, .quick-toggle:focus:checked, .calendar .calendar-day.calendar-today:focus, .icon-button.default:focus, .default.login-dialog-button.a11y-button:focus, .default.login-dialog-button.cancel-button:focus, .default.login-dialog-button.switch-user-button:focus, .default.login-dialog-button.login-dialog-session-list-button:focus, .default.screenshot-ui-show-pointer-button:focus, .message .message-header .default.message-expand-button:focus,
+ .message .message-header .default.message-close-button:focus, .message-notification-group .default.message-collapse-button:focus, .calendar .calendar-month-header .default.pager-button:focus, .button.default:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-lighten(-st-accent-color, 30%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(-st-accent-color, #ffffff, 87%), 5%); }
+ .keyboard-brightness-level .button:focus:hover:checked, .quick-toggle:focus:hover:checked, .calendar .calendar-day.calendar-today:focus:hover, .icon-button.default:focus:hover, .default.login-dialog-button.a11y-button:focus:hover, .default.login-dialog-button.cancel-button:focus:hover, .default.login-dialog-button.switch-user-button:focus:hover, .default.login-dialog-button.login-dialog-session-list-button:focus:hover, .default.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .default.message-expand-button:focus:hover,
+ .message .message-header .default.message-close-button:focus:hover, .message-notification-group .default.message-collapse-button:focus:hover, .calendar .calendar-month-header .default.pager-button:focus:hover, .button.default:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(-st-accent-color, 4%), #ffffff, 87%), 5%); }
+ .keyboard-brightness-level .button:hover:checked, .quick-toggle:hover:checked, .calendar .calendar-day.calendar-today:hover, .icon-button.default:hover, .default.login-dialog-button.a11y-button:hover, .default.login-dialog-button.cancel-button:hover, .default.login-dialog-button.switch-user-button:hover, .default.login-dialog-button.login-dialog-session-list-button:hover, .default.screenshot-ui-show-pointer-button:hover, .message .message-header .default.message-expand-button:hover,
+ .message .message-header .default.message-close-button:hover, .message-notification-group .default.message-collapse-button:hover, .calendar .calendar-month-header .default.pager-button:hover, .button.default:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(st-lighten(-st-accent-color, 4%), #ffffff, 87%); }
+ .keyboard-brightness-level .button:insensitive:checked, .quick-toggle:insensitive:checked, .calendar .calendar-day.calendar-today:insensitive, .icon-button.default:insensitive, .default.login-dialog-button.a11y-button:insensitive, .default.login-dialog-button.cancel-button:insensitive, .default.login-dialog-button.switch-user-button:insensitive, .default.login-dialog-button.login-dialog-session-list-button:insensitive, .default.screenshot-ui-show-pointer-button:insensitive, .message .message-header .default.message-expand-button:insensitive,
+ .message .message-header .default.message-close-button:insensitive, .message-notification-group .default.message-collapse-button:insensitive, .calendar .calendar-month-header .default.pager-button:insensitive, .button.default:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: st-transparentize(-st-accent-fg-color, 0.5);
+ background-color: st-darken(-st-accent-color, 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .keyboard-brightness-level .button:active:checked, .quick-toggle:active:checked, .calendar .calendar-day.calendar-today:active, .icon-button.default:active, .default.login-dialog-button.a11y-button:active, .default.login-dialog-button.cancel-button:active, .default.login-dialog-button.switch-user-button:active, .default.login-dialog-button.login-dialog-session-list-button:active, .default.screenshot-ui-show-pointer-button:active, .message .message-header .default.message-expand-button:active,
+ .message .message-header .default.message-close-button:active, .message-notification-group .default.message-collapse-button:active, .calendar .calendar-month-header .default.pager-button:active, .button.default:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(st-lighten(-st-accent-color, 9%), #ffffff, 87%); }
+ .keyboard-brightness-level .button:active:hover:checked, .quick-toggle:active:hover:checked, .calendar .calendar-day.calendar-today:active:hover, .icon-button.default:active:hover, .default.login-dialog-button.a11y-button:active:hover, .default.login-dialog-button.cancel-button:active:hover, .default.login-dialog-button.switch-user-button:active:hover, .default.login-dialog-button.login-dialog-session-list-button:active:hover, .default.screenshot-ui-show-pointer-button:active:hover, .message .message-header .default.message-expand-button:active:hover,
+ .message .message-header .default.message-close-button:active:hover, .message-notification-group .default.message-collapse-button:active:hover, .calendar .calendar-month-header .default.pager-button:active:hover, .button.default:active:hover {
+ background-color: st-lighten(st-lighten(-st-accent-color, 9%), 4%); }
+ .keyboard-brightness-level .button:active:focus:checked, .quick-toggle:active:focus:checked, .calendar .calendar-day.calendar-today:active:focus, .icon-button.default:active:focus, .default.login-dialog-button.a11y-button:active:focus, .default.login-dialog-button.cancel-button:active:focus, .default.login-dialog-button.switch-user-button:active:focus, .default.login-dialog-button.login-dialog-session-list-button:active:focus, .default.screenshot-ui-show-pointer-button:active:focus, .message .message-header .default.message-expand-button:active:focus,
+ .message .message-header .default.message-close-button:active:focus, .message-notification-group .default.message-collapse-button:active:focus, .calendar .calendar-month-header .default.pager-button:active:focus, .button.default:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(-st-accent-color, 9%), #ffffff, 87%), 5%); }
+
+.popup-sub-menu .popup-menu-item, .popup-menu-item {
+ font-weight: normal;
+ spacing: 6px;
+ transition-duration: 100ms;
+ padding: 9px 12px; }
+
+#LookingGlassExtensions .lg-extension, #LookingGlassWindows .lg-window, .calendar, .datemenu-today-button, .quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ border-radius: 12px;
+ padding: 0.818em;
+ margin: 4px;
+ background-color: #1a1a1a;
+ box-shadow: 0 1px 2px 0 transparent;
+ border: 1px solid #1a1a1a;
+ border-color: transparent;
+ box-shadow: none; }
+
+.quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(#1a1a1a, #ffffff, 87%); }
+ .quick-toggle-menu:hover, .message:hover, .events-button:hover,
+ .world-clocks-button:hover,
+ .weather-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 4%), #ffffff, 87%); }
+ .quick-toggle-menu:active, .message:active, .events-button:active,
+ .world-clocks-button:active,
+ .weather-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%); }
+ .quick-toggle-menu:active:hover, .message:active:hover, .events-button:active:hover,
+ .world-clocks-button:active:hover,
+ .weather-button:active:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 9%), 4%); }
+ .quick-toggle-menu:active:focus, .message:active:focus, .events-button:active:focus,
+ .world-clocks-button:active:focus,
+ .weather-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .quick-toggle-menu:focus, .message:focus, .events-button:focus,
+ .world-clocks-button:focus,
+ .weather-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#1a1a1a, #ffffff, 87%), 5%); }
+ .quick-toggle-menu:focus:hover, .message:focus:hover, .events-button:focus:hover,
+ .world-clocks-button:focus:hover,
+ .weather-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 4%), #ffffff, 87%), 5%); }
+ .quick-toggle-menu:insensitive, .message:insensitive, .events-button:insensitive,
+ .world-clocks-button:insensitive,
+ .weather-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(#1a1a1a, 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.calendar, .datemenu-today-button {
+ border: 1px solid transparent !important;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ background-color: transparent !important; }
+ .calendar:hover, .datemenu-today-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 7%), #ffffff, 87%); }
+ .calendar:active, .datemenu-today-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%); }
+ .calendar:active:hover, .datemenu-today-button:active:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 9%), 7%); }
+ .calendar:active:focus, .datemenu-today-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .calendar:focus, .datemenu-today-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(#1a1a1a, #ffffff, 87%), 5%); }
+ .calendar:focus:hover, .datemenu-today-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 4%), #ffffff, 87%), 5%); }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(#1a1a1a, 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.unlock-dialog .login-dialog-prompt-entry, .login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry, .lg-dialog StEntry, StEntry {
+ border-radius: 8px;
+ padding: 9px 9px;
+ selection-background-color: st-transparentize(-st-accent-color, 0.7);
+ selected-color: #ffffff; }
+
+StEntry {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #2e2e2e;
+ color: rgba(255, 255, 255, 0.7); }
+ StEntry:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #383838;
+ color: #ffffff; }
+ StEntry:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #2e2e2e, 5%);
+ color: #ffffff; }
+ StEntry:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #262626;
+ color: rgba(255, 255, 255, 0.5); }
+ StEntry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+.notification-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button {
+ font-weight: bold;
+ padding: 6px 12px;
+ border-radius: 8px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.15), #ffffff, 87%); }
+ .notification-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.15), #ffffff, 87%), 5%); }
+ .notification-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.3), #ffffff, 87%), 5%); }
+ .notification-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.3), #ffffff, 87%); }
+ .notification-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.2), #ffffff, 87%); }
+ .notification-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .notification-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.2), #ffffff, 87%), 5%); }
+ .notification-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), #ffffff, 87%); }
+ .notification-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 4%); }
+ .notification-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 9%); }
+ .notification-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.modal-dialog .modal-dialog-button-box .modal-dialog-button {
+ font-weight: bold;
+ padding: 12px;
+ border-radius: 12px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.1), #ffffff, 87%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.1), #ffffff, 87%), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.13), #ffffff, 87%), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.13), #ffffff, 87%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.16), #ffffff, 87%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:hover {
+ background-color: rgba(255, 255, 255, 0.19); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.16), #ffffff, 87%), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), #ffffff, 87%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 4%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 9%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #1a1a1a, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.dash-label, .window-caption, .screenshot-ui-tooltip {
+ background-color: rgba(0, 0, 0, 0.9);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ border-radius: 999px;
+ padding: 6px 12px;
+ text-align: center;
+ background-color: black;
+ border-color: rgba(255, 255, 255, 0.4); }
+
+/* General Typography */
+.unlock-dialog-clock .unlock-dialog-clock-date, .app-folder-dialog .folder-name-container .folder-name-label, .app-folder-dialog .folder-name-container .folder-name-entry, .search-statustext {
+ font-weight: 800;
+ font-size: 1.818em; }
+
+.conflicting-session-dialog-content .conflicting-session-dialog-title, .message-dialog-content .message-dialog-title, .message-notification-group .message-group-header .message-group-title, .datemenu-today-button .date-label {
+ font-weight: 800;
+ font-size: 1.364em; }
+
+.login-dialog .user-widget.horizontal .user-widget-label,
+.unlock-dialog .user-widget.horizontal .user-widget-label, .quick-toggle-menu .header .title, .message-list .message-list-placeholder {
+ font-weight: 700;
+ font-size: 1.364em; }
+
+.parental-controls-shield .parental-controls-shield-button, .parental-controls-shield .parental-controls-shield-title, .login-dialog-auth-list-label, #LookingGlassDebugFlags .lg-debug-flags-header, #LookingGlassExtensions .lg-extensions-none, .word-suggestions, .bt-menu-placeholder.popup-menu-item, .restart-message, .polkit-dialog-user-layout .polkit-dialog-user-label,
+.polkit-dialog-user-layout .polkit-dialog-user-root-label, .message-dialog-content .message-dialog-title.lightweight {
+ font-weight: 700;
+ font-size: 1.182em; }
+
+.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+ font-weight: 700;
+ font-size: 1em; }
+
+.quick-toggle-menu .header .subtitle, .app-menu .popup-inactive-menu-item:first-child > StLabel {
+ font-weight: 700;
+ font-size: 0.818em; }
+
+.lg-completions-text, .caps-lock-warning-label, .background-app-item .subtitle, .quick-toggle .quick-toggle-subtitle, .screenshot-ui-type-button .icon-label-button-container, .prompt-dialog .prompt-dialog-error-label,
+.prompt-dialog .prompt-dialog-info-label,
+.prompt-dialog .prompt-dialog-null-label, .run-dialog .run-dialog-description, .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description, .message .message-header .message-header-content .event-time, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .events-button .events-box .events-list .event-box .event-time {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+.weather-button .weather-box .weather-grid .weather-forecast-time, .calendar .calendar-week-number, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button StLabel, #LookingGlassEvaluator .evaluator-results, .lg-dialog .actor-link {
+ font-family: monospace; }
+
+.unlock-dialog-clock .unlock-dialog-clock-time, #panel, .weather-button .weather-box .weather-grid .weather-forecast-temp, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .world-clocks-button .world-clocks-grid .world-clocks-time, .events-button .events-box .events-list .event-box .event-time, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-feature-settings: "tnum"; }
+
+/* OSD Elements */
+#LookingGlassDialog, .screenshot-ui-panel, .workspace-switcher, .switcher-list, .resize-popup, .osd-window {
+ color: #ffffff;
+ background-color: #000000;
+ border: 1px solid rgba(255, 255, 255, 0.2);
+ border-radius: 999px;
+ padding: 12px;
+ box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4);
+ border: 2px solid rgba(255, 255, 255, 0.4);
+ box-shadow: none; }
+
+.lg-dialog StEntry {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #171717;
+ color: rgba(255, 255, 255, 0.7); }
+ .lg-dialog StEntry:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #212121;
+ color: #ffffff; }
+ .lg-dialog StEntry:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #171717, 5%);
+ color: #ffffff; }
+ .lg-dialog StEntry:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #0f0f0f;
+ color: rgba(255, 255, 255, 0.5); }
+ .lg-dialog StEntry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+#LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), #ffffff, 87%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:insensitive, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:insensitive,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:insensitive, #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #000000, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+#LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ #LookingGlassDialog .notebook-tab:focus, .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(0, 0, 0, 0.25), 5%); }
+ #LookingGlassDialog .notebook-tab:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 7%), #ffffff, 87%), 5%); }
+ #LookingGlassDialog .notebook-tab:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 7%), #ffffff, 87%); }
+ #LookingGlassDialog .notebook-tab:active, .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 9%), #ffffff, 87%); }
+ #LookingGlassDialog .notebook-tab:active:hover, .screenshot-ui-show-pointer-button:active:hover, .screenshot-ui-type-button:active:hover {
+ background-color: st-lighten(st-lighten(#000000, 9%), 7%); }
+ #LookingGlassDialog .notebook-tab:active:focus, .screenshot-ui-show-pointer-button:active:focus, .screenshot-ui-type-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
+ #LookingGlassDialog .notebook-tab:checked, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 8%), #ffffff, 87%); }
+ #LookingGlassDialog .notebook-tab:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover {
+ background-color: st-lighten(st-lighten(#000000, 8%), 7%); }
+ #LookingGlassDialog .notebook-tab:checked:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active {
+ background-color: st-lighten(st-lighten(#000000, 8%), 9%); }
+ #LookingGlassDialog .notebook-tab:insensitive, .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+/* System Elements */
+.login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #232323;
+ color: rgba(255, 255, 255, 0.7); }
+ .login-dialog .login-dialog-prompt-entry:hover, .app-folder-dialog .folder-name-container .folder-name-entry:hover, .search-entry:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #2d2d2d;
+ color: #ffffff; }
+ .login-dialog .login-dialog-prompt-entry:focus, .app-folder-dialog .folder-name-container .folder-name-entry:focus, .search-entry:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), #232323, 5%);
+ color: #ffffff; }
+ .login-dialog .login-dialog-prompt-entry:insensitive, .app-folder-dialog .folder-name-container .folder-name-entry:insensitive, .search-entry:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: #1b1b1b;
+ color: rgba(255, 255, 255, 0.5); }
+ .login-dialog .login-dialog-prompt-entry StLabel.hint-text, .app-folder-dialog .folder-name-container .folder-name-entry StLabel.hint-text, .search-entry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #0d0d0d, 9%), #ffffff, 87%); }
+ .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #0d0d0d, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #0d0d0d, 9%), #ffffff, 87%), 5%); }
+ .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 4%), #ffffff, 87%), 5%); }
+ .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 4%), #ffffff, 87%); }
+ .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 9%), #ffffff, 87%); }
+ .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 9%), 4%); }
+ .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 9%), #ffffff, 87%), 5%); }
+ .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 8%), #ffffff, 87%); }
+ .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 8%), 4%); }
+ .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #0d0d0d, 9%), 8%), 9%); }
+
+/* Lockscreen Elements */
+.unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .calendar .calendar-month-header .pager-button,
+.calendar .calendar-month-header .unlock-dialog .pager-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button,
+.unlock-dialog .login-dialog-button.a11y-button,
+.unlock-dialog .login-dialog-button.cancel-button,
+.unlock-dialog .login-dialog-button.switch-user-button,
+.unlock-dialog .login-dialog-button.login-dialog-session-list-button, .unlock-dialog .login-dialog-auth-list-item {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.1), #ffffff, 87%); }
+ .unlock-dialog-notifications-container .message StButton:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus, .parental-controls-shield .parental-controls-shield-button:focus, .unlock-dialog .button:focus,
+ .unlock-dialog .icon-button:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus,
+ .unlock-dialog .message .message-header .message-expand-button:focus,
+ .message .message-header .unlock-dialog .message-expand-button:focus,
+ .unlock-dialog .message .message-header .message-close-button:focus,
+ .message .message-header .unlock-dialog .message-close-button:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus, .unlock-dialog .login-dialog-auth-list-item:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.1), #ffffff, 87%), 5%); }
+ .unlock-dialog-notifications-container .message StButton:focus:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus:hover, .parental-controls-shield .parental-controls-shield-button:focus:hover, .unlock-dialog .button:focus:hover,
+ .unlock-dialog .icon-button:focus:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus:hover,
+ .unlock-dialog .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .unlock-dialog .message-expand-button:focus:hover,
+ .unlock-dialog .message .message-header .message-close-button:focus:hover,
+ .message .message-header .unlock-dialog .message-close-button:focus:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:focus:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:focus:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus:hover, .unlock-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.13), #ffffff, 87%), 5%); }
+ .unlock-dialog-notifications-container .message StButton:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:hover, .parental-controls-shield .parental-controls-shield-button:hover, .unlock-dialog .button:hover,
+ .unlock-dialog .icon-button:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:hover,
+ .unlock-dialog .message .message-header .message-expand-button:hover,
+ .message .message-header .unlock-dialog .message-expand-button:hover,
+ .unlock-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .unlock-dialog .message-close-button:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:hover, .unlock-dialog .login-dialog-auth-list-item:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.13), #ffffff, 87%); }
+ .unlock-dialog-notifications-container .message StButton:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active, .parental-controls-shield .parental-controls-shield-button:active, .unlock-dialog .button:active,
+ .unlock-dialog .icon-button:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:active,
+ .unlock-dialog .message .message-header .message-expand-button:active,
+ .message .message-header .unlock-dialog .message-expand-button:active,
+ .unlock-dialog .message .message-header .message-close-button:active,
+ .message .message-header .unlock-dialog .message-close-button:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active,
+ .unlock-dialog .login-dialog-button.a11y-button:active,
+ .unlock-dialog .login-dialog-button.cancel-button:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active, .unlock-dialog .login-dialog-auth-list-item:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(rgba(255, 255, 255, 0.16), #ffffff, 87%); }
+ .unlock-dialog-notifications-container .message StButton:active:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:hover, .parental-controls-shield .parental-controls-shield-button:active:hover, .unlock-dialog .button:active:hover,
+ .unlock-dialog .icon-button:active:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:hover,
+ .unlock-dialog .message .message-header .message-expand-button:active:hover,
+ .message .message-header .unlock-dialog .message-expand-button:active:hover,
+ .unlock-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .unlock-dialog .message-close-button:active:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:active:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:active:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .unlock-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: rgba(255, 255, 255, 0.19); }
+ .unlock-dialog-notifications-container .message StButton:active:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:focus, .parental-controls-shield .parental-controls-shield-button:active:focus, .unlock-dialog .button:active:focus,
+ .unlock-dialog .icon-button:active:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:focus,
+ .unlock-dialog .message .message-header .message-expand-button:active:focus,
+ .message .message-header .unlock-dialog .message-expand-button:active:focus,
+ .unlock-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .unlock-dialog .message-close-button:active:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:active:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:active:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .unlock-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(rgba(255, 255, 255, 0.16), #ffffff, 87%), 5%); }
+ .unlock-dialog-notifications-container .message StButton:checked,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked, .parental-controls-shield .parental-controls-shield-button:checked, .unlock-dialog .button:checked,
+ .unlock-dialog .icon-button:checked,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked,
+ .unlock-dialog .message .message-header .message-expand-button:checked,
+ .message .message-header .unlock-dialog .message-expand-button:checked,
+ .unlock-dialog .message .message-header .message-close-button:checked,
+ .message .message-header .unlock-dialog .message-close-button:checked,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked,
+ .unlock-dialog .login-dialog-button.a11y-button:checked,
+ .unlock-dialog .login-dialog-button.cancel-button:checked,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked, .unlock-dialog .login-dialog-auth-list-item:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), #ffffff, 87%); }
+ .unlock-dialog-notifications-container .message StButton:checked:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:hover, .parental-controls-shield .parental-controls-shield-button:checked:hover, .unlock-dialog .button:checked:hover,
+ .unlock-dialog .icon-button:checked:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:hover,
+ .unlock-dialog .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .unlock-dialog .message-expand-button:checked:hover,
+ .unlock-dialog .message .message-header .message-close-button:checked:hover,
+ .message .message-header .unlock-dialog .message-close-button:checked:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:hover, .unlock-dialog .login-dialog-auth-list-item:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 4%); }
+ .unlock-dialog-notifications-container .message StButton:checked:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:active, .parental-controls-shield .parental-controls-shield-button:checked:active, .unlock-dialog .button:checked:active,
+ .unlock-dialog .icon-button:checked:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:active,
+ .unlock-dialog .message .message-header .message-expand-button:checked:active,
+ .message .message-header .unlock-dialog .message-expand-button:checked:active,
+ .unlock-dialog .message .message-header .message-close-button:checked:active,
+ .message .message-header .unlock-dialog .message-close-button:checked:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:active,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:active,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:active, .unlock-dialog .login-dialog-auth-list-item:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 8%), 9%); }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive, .parental-controls-shield .parental-controls-shield-button:insensitive, .unlock-dialog .button:insensitive,
+ .unlock-dialog .icon-button:insensitive,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:insensitive,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:insensitive,
+ .unlock-dialog .message-notification-group .message-collapse-button:insensitive,
+ .message-notification-group .unlock-dialog .message-collapse-button:insensitive,
+ .unlock-dialog .message .message-header .message-expand-button:insensitive,
+ .message .message-header .unlock-dialog .message-expand-button:insensitive,
+ .unlock-dialog .message .message-header .message-close-button:insensitive,
+ .message .message-header .unlock-dialog .message-close-button:insensitive,
+ .unlock-dialog .screenshot-ui-show-pointer-button:insensitive,
+ .unlock-dialog .login-dialog-button.a11y-button:insensitive,
+ .unlock-dialog .login-dialog-button.cancel-button:insensitive,
+ .unlock-dialog .login-dialog-button.switch-user-button:insensitive,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:insensitive, .unlock-dialog .login-dialog-auth-list-item:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #1a1a1a, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.unlock-dialog .login-dialog-prompt-entry {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: rgba(255, 255, 255, 0.1);
+ color: rgba(255, 255, 255, 0.7); }
+ .unlock-dialog .login-dialog-prompt-entry:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #ffffff; }
+ .unlock-dialog .login-dialog-prompt-entry:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(255, 255, 255, 0.7), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(255, 255, 255, 0.1), 5%);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(255, 255, 255, 0.7), 0.1) !important;
+ background-color: st-mix(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.1), 5%); }
+ .unlock-dialog .login-dialog-prompt-entry:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: rgba(247, 247, 247, 0.1);
+ color: rgba(255, 255, 255, 0.5); }
+ .unlock-dialog .login-dialog-prompt-entry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+/* WIDGETS */
+.shell-link {
+ color: st-lighten(-st-accent-color, 20%); }
+ .shell-link:hover {
+ color: st-lighten(st-lighten(-st-accent-color, 20%), 10%); }
+
+.lowres-icon {
+ icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
+
+.icon-dropshadow {
+ icon-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
+ icon-shadow: none; }
+
+/* Entries */
+StEntry StIcon.capslock-warning {
+ icon-size: 1.091em;
+ warning-color: #cd9309;
+ padding: 0 4px; }
+
+StEntry StIcon.peek-password {
+ icon-size: 1.091em;
+ padding: 0 4px; }
+
+StEntry StLabel.hint-text {
+ margin-left: 2px; }
+
+/* Buttons */
+.button {
+ min-height: 1.5em; }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button {
+ border-radius: 999px;
+ padding: 0.818em;
+ min-height: 1.091em; }
+ .icon-button StIcon, .login-dialog-button.a11y-button StIcon, .login-dialog-button.cancel-button StIcon, .login-dialog-button.switch-user-button StIcon, .login-dialog-button.login-dialog-session-list-button StIcon, .screenshot-ui-show-pointer-button StIcon, .message .message-header .message-expand-button StIcon,
+ .message .message-header .message-close-button StIcon, .message-notification-group .message-collapse-button StIcon, .calendar .calendar-month-header .pager-button StIcon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+
+/* Check Boxes */
+.check-box StBoxLayout {
+ spacing: .8em; }
+
+.check-box StBin {
+ border-radius: 7px;
+ padding: 2px; }
+
+.check-box:focus StBin {
+ background-color: rgba(0, 0, 0, 0.01);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.65); }
+
+.check-box StIcon {
+ icon-size: 14px;
+ padding: 1px;
+ color: transparent;
+ border-radius: 6px;
+ border: 2px solid rgba(255, 255, 255, 0.15); }
+
+.check-box:hover StIcon {
+ border-color: rgba(255, 255, 255, 0.2); }
+
+.check-box:active StIcon {
+ border-color: rgba(255, 255, 255, 0.3); }
+
+.check-box:checked StIcon {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-color: transparent; }
+
+.check-box:checked:hover StIcon {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.check-box:checked:active StIcon {
+ background-color: st-darken(-st-accent-color, 7%);
+ color: st-darken(-st-accent-fg-color, 7%); }
+
+/* Switches */
+.toggle-switch {
+ width: 46px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ color: #ffffff;
+ background: rgba(255, 255, 255, 0.3); }
+ .toggle-switch:hover {
+ background: rgba(255, 255, 255, 0.4); }
+ .toggle-switch StIcon {
+ icon-size: 16px; }
+ .toggle-switch .handle {
+ margin: 3px;
+ width: 20px;
+ height: 20px;
+ border-radius: 999px;
+ background: #d1d1d1;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ transition-duration: 100ms; }
+ .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+ .toggle-switch:checked .handle {
+ background: white; }
+
+/* Slider */
+.slider {
+ color: #e8e8e8;
+ -barlevel-height: 4px;
+ -barlevel-background-color: rgba(255, 255, 255, 0.1);
+ -barlevel-active-background-color: -st-accent-color;
+ -barlevel-overdrive-color: #c01c28;
+ -barlevel-overdrive-separator-width: 1px;
+ -slider-handle-radius: 0.5455em;
+ -barlevel-background-color: rgba(255, 255, 255, 0.4); }
+ .slider:hover {
+ color: #ffffff; }
+
+/* Scrollbars */
+StScrollView.vfade {
+ -st-vfade-offset: 68px; }
+
+StScrollView.hfade {
+ -st-hfade-offset: 68px; }
+
+StScrollBar {
+ padding: 0; }
+ StScrollView StScrollBar {
+ min-width: 8px;
+ min-height: 8px; }
+ StScrollBar StBin#trough {
+ border-radius: 0;
+ background-color: transparent; }
+ StScrollBar > .vhandle, StScrollBar > .hhandle {
+ border-radius: 8px;
+ background-color: #5e5e5e;
+ border: 3px solid transparent;
+ transition: 500ms all ease; }
+ StScrollBar > .vhandle:hover, StScrollBar > .hhandle:hover {
+ background-color: #8c8c8c; }
+ StScrollBar > .vhandle:active, StScrollBar > .hhandle:active {
+ background-color: #757575; }
+
+/* Popovers/Menus */
+.popup-menu-boxpointer, .candidate-popup-boxpointer {
+ -arrow-rise: 6px; }
+
+.popup-menu {
+ min-width: 15em;
+ color: #ffffff; }
+ .popup-menu.panel-menu {
+ margin-bottom: 1.75em; }
+
+.popup-menu-content, .candidate-popup-content {
+ padding: 6px;
+ background-color: #1a1a1a;
+ border-radius: 20px;
+ border: 1px solid rgba(255, 255, 255, 0.5);
+ box-shadow: 0 2px 4px 0 transparent; }
+
+.popup-menu-item {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ border-radius: 12px; }
+ .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-menu-item:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#262626, 9%), #ffffff, 87%); }
+ .popup-menu-item:active:hover {
+ background-color: st-lighten(st-lighten(#262626, 9%), 7%); }
+ .popup-menu-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#262626, 9%), #ffffff, 87%), 5%); }
+ .popup-menu-item:hover, .popup-menu-item:selected, .popup-menu-item:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#262626, 7%), #ffffff, 87%); }
+ .popup-menu-item:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #262626;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .popup-menu-item:checked {
+ border-radius: 12px 12px 0 0 !important;
+ border: 1px solid rgba(255, 255, 255, 0.4);
+ border-bottom-width: 0; }
+ .popup-menu-item .toggle-switch:ltr {
+ margin-left: 4px; }
+ .popup-menu-item .toggle-switch:rtl {
+ margin-right: 4px; }
+
+.popup-ornamented-menu-item:ltr {
+ padding-left: 6px; }
+
+.popup-ornamented-menu-item:rtl {
+ padding-right: 6px; }
+
+.popup-inactive-menu-item {
+ color: #ffffff; }
+ .popup-inactive-menu-item:insensitive {
+ color: #ffffff; }
+
+.popup-menu-arrow,
+.popup-menu-icon {
+ icon-size: 1.091em; }
+
+.popup-sub-menu {
+ border-radius: 0 0 13px 13px;
+ margin-bottom: 6px;
+ border: 1px solid transparent;
+ background-color: #3b3b3b;
+ border-color: rgba(255, 255, 255, 0.4); }
+ .popup-sub-menu .popup-menu-item {
+ border-radius: 0;
+ border-top-width: 0;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-sub-menu .popup-menu-item:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#3b3b3b, 9%), #ffffff, 87%); }
+ .popup-sub-menu .popup-menu-item:active:hover {
+ background-color: st-lighten(st-lighten(#3b3b3b, 9%), 7%); }
+ .popup-sub-menu .popup-menu-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#3b3b3b, 9%), #ffffff, 87%), 5%); }
+ .popup-sub-menu .popup-menu-item:hover, .popup-sub-menu .popup-menu-item:selected, .popup-sub-menu .popup-menu-item:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#3b3b3b, 7%), #ffffff, 87%); }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #3b3b3b;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .popup-sub-menu .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px;
+ border-bottom-width: 0; }
+ .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:hover, .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:focus {
+ border-radius: 0; }
+ .popup-sub-menu .popup-menu-section:last-child .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px; }
+
+.popup-menu-ornament {
+ icon-size: 1.091em !important;
+ width: 1.091em; }
+
+.popup-separator-menu-item {
+ border: none !important; }
+ .popup-separator-menu-item .popup-separator-menu-item-separator {
+ height: 1px;
+ background-color: rgba(255, 255, 255, 0.5); }
+ .popup-sub-menu .popup-separator-menu-item {
+ background-color: transparent; }
+ .popup-sub-menu .popup-separator-menu-item:ltr {
+ margin-right: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item:rtl {
+ margin-left: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item .popup-separator-menu-item-separator {
+ background-color: rgba(255, 255, 255, 0.5); }
+
+.background-menu {
+ -boxpointer-gap: 0px;
+ -arrow-rise: 0px; }
+
+.app-menu {
+ max-width: 27.25em; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:ltr {
+ margin-right: 8px; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:rtl {
+ margin-left: 8px; }
+
+/* Date/Time Menu */
+#calendarArea {
+ padding: 4px; }
+
+.datemenu-popover {
+ border-radius: 30px; }
+
+.datemenu-calendar-column {
+ spacing: 6px; }
+ .datemenu-calendar-column:ltr {
+ margin-left: 6px; }
+ .datemenu-calendar-column:rtl {
+ margin-right: 6px; }
+ .datemenu-calendar-column .datemenu-displays-box {
+ spacing: 6px; }
+
+.datemenu-today-button {
+ padding: 9px; }
+ .datemenu-today-button .day-label {
+ font-weight: bold; }
+
+.calendar {
+ margin-top: 0;
+ padding: 0; }
+ .calendar .calendar-month-header .calendar-change-month-back StIcon,
+ .calendar .calendar-month-header .calendar-change-month-forward StIcon {
+ icon-size: 1.091em; }
+ .calendar .calendar-month-header .calendar-month-label {
+ color: #ffffff !important;
+ padding: 8px 0;
+ width: 10em;
+ border-radius: 999px;
+ text-align: center; }
+ .calendar .calendar-month-header .pager-button {
+ height: 2.6em;
+ width: 2.6em;
+ padding: 0; }
+ .calendar .calendar-day {
+ border-radius: 999px;
+ height: 3em;
+ width: 3em;
+ margin: 2px;
+ padding: 0;
+ font-weight: bold;
+ text-align: center; }
+ .calendar .calendar-day.calendar-weekend {
+ color: #ffffff;
+ font-style: italic; }
+ .calendar .calendar-day.calendar-other-month {
+ color: rgba(255, 255, 255, 0.5);
+ font-weight: normal;
+ color: #ffffff;
+ font-style: italic; }
+ .calendar .calendar-day.calendar-other-month.calendar-weekend {
+ color: rgba(255, 255, 255, 0.5);
+ color: #ffffff; }
+ .calendar .calendar-day.calendar-today {
+ color: -st-accent-fg-color !important; }
+ .calendar .calendar-day.calendar-today.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg") !important; }
+ .calendar .calendar-day.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
+ background-size: contain; }
+ .calendar .calendar-day-heading {
+ font-weight: bold;
+ text-align: center;
+ margin: 4px;
+ padding: 3px 6px;
+ border-radius: 8px; }
+ .calendar .calendar-week-number {
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ text-align: center;
+ margin: 6px;
+ padding: 0 6px;
+ border-radius: 4px;
+ background-color: rgba(255, 255, 255, 0.2);
+ color: #ffffff; }
+
+.events-button .events-box .events-title {
+ color: #ffffff;
+ padding-bottom: 6px; }
+
+.events-button .events-box .events-list {
+ spacing: 6px; }
+ .events-button .events-box .events-list .event-box {
+ spacing: 6px;
+ border-radius: 8px; }
+ .events-button .events-box .events-list .event-box .event-time {
+ color: #ffffff; }
+ .events-button .events-box .events-list .event-placeholder {
+ color: #ffffff;
+ font-style: italic; }
+
+.world-clocks-button .world-clocks-header {
+ color: #ffffff; }
+ .world-clocks-button .world-clocks-header.no-world-clocks {
+ color: #ffffff; }
+
+.world-clocks-button .world-clocks-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time {
+ font-weight: bold; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:ltr {
+ text-align: right; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:rtl {
+ text-align: left; }
+ .world-clocks-button .world-clocks-grid .world-clocks-timezone {
+ color: #ffffff; }
+
+.weather-button .weather-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box .weather-header {
+ color: #ffffff; }
+ .weather-button .weather-box .weather-header-box .weather-header.no-location {
+ color: #ffffff; }
+ .weather-button .weather-box .weather-header-box .weather-header.location {
+ font-weight: normal; }
+ .weather-button .weather-box .weather-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-time {
+ padding-top: 6px;
+ padding-bottom: 6px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-icon {
+ icon-size: 2.182em;
+ margin-bottom: 4px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-temp {
+ font-weight: bold; }
+
+/* Message List */
+.message-list {
+ width: 29em;
+ border: solid rgba(255, 255, 255, 0.5); }
+ .message-list:ltr {
+ margin-left: 0;
+ margin-right: 4px;
+ padding-right: 6px;
+ border-right-width: 1px; }
+ .message-list:rtl {
+ margin-right: 0;
+ margin-left: 4px;
+ padding-left: 6px;
+ border-left-width: 1px; }
+ .message-list .message-list-placeholder {
+ color: rgba(255, 255, 255, 0.45);
+ color: #ffffff; }
+ .message-list .message-list-placeholder > StIcon {
+ icon-size: 96px;
+ margin-bottom: 12px;
+ -st-icon-style: symbolic; }
+
+.message-view {
+ -st-vfade-offset: 68px; }
+ .message-view:ltr {
+ margin-right: 12px; }
+ .message-view:rtl {
+ margin-left: 12px; }
+ .message-view .message {
+ margin-bottom: 12px !important;
+ border-radius: 18px; }
+
+.message-list-controls {
+ padding: 12px;
+ padding-bottom: 9px;
+ spacing: 6px; }
+ .message-list-controls .message-list-clear-button {
+ border-radius: 999px; }
+
+.message-notification-group {
+ spacing: 12px; }
+ .message-notification-group .message-group-header {
+ padding: 6px; }
+ .message-notification-group .message-group-header .message-group-title {
+ margin: 0 4px; }
+ .message-notification-group .message-collapse-button {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.2);
+ padding: 4px !important;
+ border: 4px transparent solid; }
+ .message-notification-group .message-collapse-button:hover {
+ background-color: rgba(255, 255, 255, 0.3); }
+ .message-notification-group .message-collapse-button:active {
+ background-color: rgba(255, 255, 255, 0.2); }
+
+.message {
+ padding: 6px;
+ margin: 0;
+ border-radius: 16px;
+ background-color: #262626; }
+ .message:second-in-stack {
+ background-color: #171717;
+ box-shadow: 0 1px 1px 0 transparent; }
+ .message:lower-in-stack {
+ background-color: #0f0f0f;
+ box-shadow: none;
+ border-color: transparent; }
+ .message .message-header {
+ spacing: 6px;
+ color: #ffffff;
+ padding: 0 6px; }
+ .message .message-header:ltr {
+ padding-right: 0; }
+ .message .message-header:rtl {
+ padding-left: 0; }
+ .message .message-header .message-source-icon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+ .message .message-header .message-header-content {
+ spacing: 6px;
+ min-height: 1.637em;
+ padding-bottom: 6px; }
+ .message .message-header .message-header-content .message-source-title {
+ font-weight: bold; }
+ .message .message-header .message-header-content .event-time {
+ color: #ffffff;
+ padding-bottom: 0.068em; }
+ .message .message-header .message-header-content .event-time:ltr {
+ text-align: right; }
+ .message .message-header .message-header-content .event-time:rtl {
+ text-align: left; }
+ .message .message-header .message-expand-button,
+ .message .message-header .message-close-button {
+ border-radius: 999px;
+ color: #ffffff; }
+ .message .message-header .message-expand-button {
+ padding: 6px; }
+ .message .message-header .message-close-button {
+ margin: 3px;
+ padding: 6px; }
+ .message .message-box {
+ padding: 6px;
+ margin-top: 0;
+ spacing: 6px; }
+ .message .message-box .message-icon {
+ icon-size: 48px; }
+ .message .message-box .message-icon:ltr {
+ margin-right: 6px; }
+ .message .message-box .message-icon:rtl {
+ margin-left: 6px; }
+ .message .message-box .message-icon.message-themed-icon {
+ border-radius: 999px;
+ background-color: rgba(255, 255, 255, 0.07);
+ icon-size: 1.091em;
+ min-width: 48px;
+ min-height: 48px; }
+ .message .message-box:first-child {
+ margin-top: 12px; }
+ .message .message-box .message-content {
+ spacing: 4px; }
+ .message .message-box .message-content .message-title {
+ font-weight: bold; }
+ .message .message-action-bin {
+ padding: 4px;
+ spacing: 6px; }
+ .message .message-action-bin * {
+ margin: 0 4px; }
+ .message .message-action-bin *:first-child:ltr {
+ margin-left: 0; }
+ .message .message-action-bin *:first-child:rtl {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:ltr {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:rtl {
+ margin-left: 0; }
+
+.url-highlighter {
+ link-color: st-lighten(-st-accent-color, 20%); }
+
+/* Media Controls */
+.message-media-control {
+ padding: 0 18px;
+ border-radius: 8px;
+ color: #ffffff;
+ border: 1px solid transparent;
+ border-color: rgba(255, 255, 255, 0.4);
+ margin: 12px 2px; }
+ .message-media-control:hover {
+ background-color: #595959;
+ color: #ffffff; }
+ .message-media-control:active {
+ background-color: #5e5e5e;
+ color: #ffffff; }
+ .message-media-control:insensitive {
+ color: white;
+ border-color: transparent; }
+ .message-media-control StIcon {
+ icon-size: 16px; }
+
+.media-message .message-icon {
+ border-radius: 8px !important; }
+ .media-message .message-icon.message-themed-icon {
+ icon-size: 32px !important; }
+
+.candidate-popup-content {
+ padding: 6px;
+ spacing: 6px;
+ border-radius: 12px; }
+
+.candidate-index {
+ padding: 0;
+ padding-right: 6px;
+ color: #ffffff; }
+
+.candidate-box {
+ padding: 6px 12px 6px 12px;
+ border-radius: 8px; }
+ .candidate-box:selected {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .candidate-box:hover {
+ background-color: #4d4d4d;
+ color: white; }
+
+.candidate-page-button-box {
+ height: 2em; }
+ .vertical .candidate-page-button-box {
+ padding-top: 12px; }
+ .horizontal .candidate-page-button-box {
+ padding-left: 12px; }
+
+.candidate-page-button {
+ padding: 6px; }
+ .candidate-page-button StIcon {
+ icon-size: 16px; }
+
+.candidate-page-button-previous {
+ border-radius: 8px 0px 0px 8px;
+ border-right-width: 0;
+ box-shadow: none; }
+
+.candidate-page-button-next {
+ border-radius: 0px 8px 8px 0px;
+ box-shadow: none; }
+
+/* Notifications & Message Tray */
+.notification-banner {
+ min-height: 64px;
+ width: 34em;
+ box-shadow: 0 2px 4px 2px transparent;
+ border-radius: 16px;
+ margin: 4px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+
+.notification-buttons-bin {
+ spacing: 0; }
+
+/* Modal Dialogs */
+.modal-dialog {
+ background-color: #1a1a1a;
+ border-radius: 18px;
+ padding: 24px;
+ spacing: 18px;
+ box-shadow: 0 12px 8px 12px rgba(0, 0, 0, 0.03); }
+ .modal-dialog .modal-dialog-content-box {
+ padding-top: 12px;
+ spacing: 18px;
+ max-width: 28em; }
+ .modal-dialog .modal-dialog-button-box {
+ padding-top: 6px; }
+
+.dialog-list {
+ spacing: 18px; }
+ .dialog-list .dialog-list-title {
+ text-align: center; }
+ .dialog-list .dialog-list-scrollview {
+ max-height: 200px; }
+ .dialog-list .dialog-list-box {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-title {
+ font-weight: bold; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description {
+ color: #f2f2f2; }
+
+/* End Session Dialog */
+.end-session-dialog {
+ width: 24em; }
+ .end-session-dialog .end-session-dialog-battery-warning,
+ .end-session-dialog .dialog-list-title {
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+/* Message Dialog */
+.message-dialog-content {
+ spacing: 18px; }
+ .message-dialog-content .message-dialog-title {
+ text-align: center; }
+ .message-dialog-content .message-dialog-description {
+ text-align: center; }
+
+/* Run Dialog */
+.run-dialog {
+ width: 24em;
+ padding-bottom: 6px; }
+ .run-dialog .run-dialog-entry {
+ padding: 12px 9px; }
+ .run-dialog .run-dialog-description {
+ color: #cccccc; }
+
+/* Password or Authentication Dialog */
+.prompt-dialog {
+ width: 28em; }
+ .prompt-dialog .prompt-dialog-password-grid {
+ spacing-rows: 8px;
+ spacing-columns: 4px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry {
+ width: auto; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:ltr {
+ margin-left: 20px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:rtl {
+ margin-right: 20px; }
+ .prompt-dialog .prompt-dialog-password-layout {
+ spacing: 8px; }
+ .prompt-dialog .prompt-dialog-password-entry {
+ width: 20em;
+ padding: 12px 9px; }
+ .prompt-dialog .prompt-dialog-error-label,
+ .prompt-dialog .prompt-dialog-info-label,
+ .prompt-dialog .prompt-dialog-null-label {
+ text-align: center;
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+ .prompt-dialog .prompt-dialog-error-label {
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1); }
+ .prompt-dialog .prompt-dialog-info-label {
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.1); }
+
+/* Polkit Dialog */
+.polkit-dialog-user-layout {
+ text-align: center;
+ spacing: 8px;
+ margin-bottom: 6px; }
+ .polkit-dialog-user-layout .polkit-dialog-user-root-label {
+ color: #cd9309; }
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+ min-width: 24em; }
+ .audio-device-selection-dialog .audio-selection-box {
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #1a1a1a;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ background-color: transparent; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(26, 26, 26, 0.25), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 7%), #ffffff, 87%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 7%), #ffffff, 87%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 9%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#1a1a1a, 8%), #ffffff, 87%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:hover {
+ background-color: st-lighten(st-lighten(#1a1a1a, 8%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:active {
+ background-color: st-lighten(st-lighten(#1a1a1a, 8%), 9%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #1a1a1a;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-box {
+ padding: 12px;
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-icon {
+ icon-size: 64px; }
+
+/* Welcome dialog */
+.welcome-dialog-image {
+ background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
+ background-size: contain;
+ /* Reasonable maximum dimensions */
+ height: 300px;
+ width: 300px; }
+
+/* Access portal dialog */
+.access-dialog {
+ text-align: center; }
+
+/* OSD */
+.osd-window {
+ text-align: center;
+ font-weight: bold;
+ spacing: 12px;
+ padding: 12px 18px;
+ margin-bottom: 4em; }
+ .osd-window > * {
+ spacing: 8px; }
+ .osd-window StIcon {
+ icon-size: 32px; }
+ .osd-window StLabel:ltr {
+ margin-right: 6px; }
+ .osd-window StLabel:rtl {
+ margin-left: 6px; }
+ .osd-window .level {
+ margin-bottom: 4px;
+ min-width: 160px;
+ -barlevel-height: 6px;
+ -barlevel-background-color: rgba(255, 255, 255, 0.1);
+ -barlevel-active-background-color: #ffffff;
+ -barlevel-overdrive-color: #c01c28;
+ -barlevel-overdrive-separator-width: 3px; }
+ .osd-window .level:first-child {
+ margin-bottom: 0; }
+ .osd-window .level:ltr {
+ margin-right: 6px; }
+ .osd-window .level:rtl {
+ margin-left: 6px; }
+
+.osd-monitor-label, .osd-break-countdown-label {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-radius: 16px;
+ font-size: 3em;
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ margin: 12px;
+ padding: 12px;
+ text-align: center;
+ min-width: 1.5em; }
+
+/* Pad OSD */
+.pad-osd-window {
+ padding: 32px;
+ background-color: rgba(0, 0, 0, 0.8); }
+ .pad-osd-window .pad-osd-title-box {
+ spacing: 12px; }
+ .pad-osd-window .pad-osd-title-menu-box {
+ spacing: 6px; }
+
+.combo-box-label {
+ width: 15em; }
+
+/* App Switcher */
+.switcher-popup {
+ padding: 0;
+ spacing: 24px; }
+
+.switcher-list {
+ padding: 12px;
+ border-radius: 28px;
+ box-shadow: 0 8px 8px 0 transparent; }
+ .switcher-list .switcher-list-item-container {
+ spacing: 12px; }
+ .switcher-list .item-box {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ background-color: transparent; }
+ .switcher-list .item-box:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(0, 0, 0, 0.25), 5%); }
+ .switcher-list .item-box:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 7%), #ffffff, 87%), 5%); }
+ .switcher-list .item-box:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 7%), #ffffff, 87%); }
+ .switcher-list .item-box:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 9%), #ffffff, 87%); }
+ .switcher-list .item-box:active:hover {
+ background-color: st-lighten(st-lighten(#000000, 9%), 7%); }
+ .switcher-list .item-box:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
+ .switcher-list .item-box:highlighted, .switcher-list .item-box:selected, .switcher-list .item-box:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 8%), #ffffff, 87%); }
+ .switcher-list .item-box:highlighted:hover, .switcher-list .item-box:selected:hover, .switcher-list .item-box:checked:hover {
+ background-color: st-lighten(st-lighten(#000000, 8%), 7%); }
+ .switcher-list .item-box:highlighted:active, .switcher-list .item-box:selected:active, .switcher-list .item-box:checked:active {
+ background-color: st-lighten(st-lighten(#000000, 8%), 9%); }
+ .switcher-list .item-box:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .switcher-list .item-box:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .switcher-list .item-box:hover {
+ background: none; }
+ .switcher-list .item-box:selected {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .switcher-list .item-box:selected {
+ background-color: rgba(255, 255, 255, 0.3); }
+ .switcher-list .separator {
+ width: 1px;
+ background: rgba(255, 255, 255, 0.5); }
+ .switcher-list .thumbnail-box {
+ padding: 2px;
+ spacing: 6px; }
+ .switcher-list .thumbnail {
+ width: 256px;
+ border-radius: 8px; }
+
+.switcher-arrow {
+ border-color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.8); }
+ .switcher-arrow:highlighted {
+ border-color: #ffffff;
+ color: #ffffff; }
+
+.input-source-switcher-symbol {
+ font-size: 34pt;
+ width: 96px;
+ height: 96px; }
+
+.cycler-highlight {
+ border: 5px solid -st-accent-color; }
+
+/* Workspace Switcher */
+.workspace-switcher {
+ margin-bottom: 4em;
+ spacing: 12px;
+ padding: 12px 18px; }
+
+.ws-switcher-indicator {
+ background-color: rgba(255, 255, 255, 0.5);
+ padding: 2.6666666667px;
+ margin: 13.3333333333px;
+ border-radius: 32px; }
+ .ws-switcher-indicator:active {
+ background-color: #ffffff;
+ padding: 5.3333333333px;
+ margin: 10.6666666667px; }
+
+.screenshot-ui-panel {
+ border-radius: 32px;
+ padding: 18px;
+ padding-bottom: 12px;
+ margin-bottom: 4em;
+ spacing: 12px; }
+
+.screenshot-ui-close-button {
+ padding: 6px !important;
+ margin-top: 12px;
+ box-shadow: 0 2px 4px 0 transparent; }
+ .screenshot-ui-close-button.left {
+ margin-left: 12px; }
+ .screenshot-ui-close-button.right {
+ margin-right: 12px; }
+
+.screenshot-ui-type-button {
+ min-width: 48px;
+ padding: 12px 18px;
+ border-radius: 14px; }
+ .screenshot-ui-type-button .icon-label-button-container {
+ spacing: 0.409em; }
+ .screenshot-ui-type-button .icon-label-button-container > StIcon {
+ icon-size: 32px; }
+
+.screenshot-ui-capture-button {
+ width: 32px;
+ height: 32px;
+ border-radius: 999px;
+ border: 4px #ffffff;
+ padding: 4px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle {
+ background-color: #ffffff;
+ transition-duration: 200ms;
+ border-radius: 999px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus {
+ background-color: #4d4d4d; }
+ .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle {
+ background-color: #cccccc; }
+ .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle {
+ background-color: gray; }
+ .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle {
+ background-color: #c01c28; }
+ .screenshot-ui-capture-button:cast:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:cast:focus .screenshot-ui-capture-button-circle {
+ background-color: #d61f2d; }
+ .screenshot-ui-capture-button:cast:active .screenshot-ui-capture-button-circle {
+ background-color: #a11722; }
+
+.screenshot-ui-shot-cast-container {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 999px;
+ padding: 3px;
+ spacing: 3px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+
+.screenshot-ui-shot-cast-button {
+ padding: 6px 12px;
+ background-color: transparent;
+ border-radius: 999px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+ .screenshot-ui-shot-cast-button > StIcon {
+ icon-size: 16px; }
+ .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .screenshot-ui-shot-cast-button:active {
+ background-color: rgba(255, 255, 255, 0.5); }
+ .screenshot-ui-shot-cast-button:checked {
+ background-color: #ffffff;
+ color: #000000; }
+ .screenshot-ui-shot-cast-button:insensitive {
+ color: rgba(255, 255, 255, 0.5); }
+
+.screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.3); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.5); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-selection {
+ border: 2px white; }
+
+.screenshot-ui-area-selector-handle {
+ border-radius: 999px;
+ background-color: white;
+ box-shadow: 0 1px 3px 2px transparent;
+ width: 24px;
+ height: 24px; }
+
+.screenshot-ui-window-selector {
+ background-color: #000000; }
+ .screenshot-ui-window-selector .screenshot-ui-window-selector-window-container {
+ margin: 100px; }
+ .screenshot-ui-window-selector:primary-monitor .screenshot-ui-window-selector-window-container {
+ margin-bottom: 200px; }
+
+.screenshot-ui-window-selector-window-border {
+ transition-duration: 200ms;
+ border-radius: 16px;
+ border: 6px transparent; }
+
+.screenshot-ui-window-selector-check {
+ transition-duration: 200ms;
+ color: transparent;
+ border-radius: 999px;
+ border-width: 12px;
+ icon-size: 24px; }
+
+.screenshot-ui-window-selector-window:hover .screenshot-ui-window-selector-window-border {
+ border-color: st-darken(-st-accent-color, 15%); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-window-border {
+ border-color: -st-accent-color;
+ background-color: st-transparentize(-st-accent-color, 0.8); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-check {
+ color: -st-accent-fg-color;
+ background-color: -st-accent-color; }
+
+.screenshot-ui-screen-selector {
+ transition-duration: 200ms;
+ background-color: rgba(0, 0, 0, 0.5); }
+ .screenshot-ui-screen-selector:hover {
+ background-color: rgba(0, 0, 0, 0.3); }
+ .screenshot-ui-screen-selector:active {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .screenshot-ui-screen-selector:checked {
+ background-color: transparent;
+ border: 2px white; }
+
+.screenshot-ui-tooltip {
+ text-align: center;
+ -y-offset: 24px; }
+
+/* Top Bar */
+#panel {
+ background-color: #000000;
+ font-weight: bold;
+ height: 2.2em;
+ transition-duration: 250ms; }
+ #panel .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 6px; }
+ #panel .panel-button:focus, #panel .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button:active, #panel .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button:active:hover, #panel .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button .system-status-icon {
+ icon-size: 1.091em;
+ padding: 0 6px;
+ margin: 0 4px; }
+ #panel .panel-button .panel-status-indicators-box {
+ spacing: 4px; }
+ #panel .panel-button .panel-status-indicators-box > .system-status-icon {
+ padding: 0; }
+ #panel .panel-button#panelActivities StBoxLayout {
+ padding: 0 0.2045em;
+ spacing: 5px; }
+ #panel .panel-button#panelActivities .workspace-dot {
+ border-radius: 999px;
+ min-width: 0.5455em;
+ min-height: 0.5455em;
+ background-color: #ffffff; }
+ #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout {
+ spacing: 0.409em; }
+ #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
+ icon-size: 1.091em; }
+ #panel .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel .panel-button.screen-recording-indicator:focus, #panel .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #d61f2d; }
+ #panel .panel-button.screen-recording-indicator:active, #panel .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #e02a37; }
+ #panel .panel-button.screen-recording-indicator:active:hover, #panel .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #e13340; }
+ #panel .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #ff7800; }
+ #panel .panel-button.screen-sharing-indicator:focus, #panel .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #ff861a; }
+ #panel .panel-button.screen-sharing-indicator:active, #panel .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #ff902e; }
+ #panel .panel-button.screen-sharing-indicator:active:hover, #panel .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ff9638; }
+ #panel .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button.clock-display:active:hover, #panel .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel .panel-button.clock-display:active .clock:hover, #panel .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-button.clock-display .messages-indicator {
+ icon-size: 1.091em; }
+ #panel:overview, #panel.unlock-screen, #panel.login-screen {
+ background-color: transparent; }
+ #panel:overview .panel-button.screen-recording-indicator, #panel.unlock-screen .panel-button.screen-recording-indicator, #panel.login-screen .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel:overview .panel-button.screen-recording-indicator:focus, #panel:overview .panel-button.screen-recording-indicator:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:focus, #panel.unlock-screen .panel-button.screen-recording-indicator:hover, #panel.login-screen .panel-button.screen-recording-indicator:focus, #panel.login-screen .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #d61f2d; }
+ #panel:overview .panel-button.screen-recording-indicator:active, #panel:overview .panel-button.screen-recording-indicator:checked, #panel.unlock-screen .panel-button.screen-recording-indicator:active, #panel.unlock-screen .panel-button.screen-recording-indicator:checked, #panel.login-screen .panel-button.screen-recording-indicator:active, #panel.login-screen .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #e02a37; }
+ #panel:overview .panel-button.screen-recording-indicator:active:hover, #panel:overview .panel-button.screen-recording-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:active:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:checked:hover, #panel.login-screen .panel-button.screen-recording-indicator:active:hover, #panel.login-screen .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #e13340; }
+ #panel:overview .panel-button.screen-sharing-indicator, #panel.unlock-screen .panel-button.screen-sharing-indicator, #panel.login-screen .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #ff7800; }
+ #panel:overview .panel-button.screen-sharing-indicator:focus, #panel:overview .panel-button.screen-sharing-indicator:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus, #panel.unlock-screen .panel-button.screen-sharing-indicator:hover, #panel.login-screen .panel-button.screen-sharing-indicator:focus, #panel.login-screen .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #ff861a; }
+ #panel:overview .panel-button.screen-sharing-indicator:active, #panel:overview .panel-button.screen-sharing-indicator:checked, #panel.unlock-screen .panel-button.screen-sharing-indicator:active, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked, #panel.login-screen .panel-button.screen-sharing-indicator:active, #panel.login-screen .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #ff902e; }
+ #panel:overview .panel-button.screen-sharing-indicator:active:hover, #panel:overview .panel-button.screen-sharing-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:active:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked:hover, #panel.login-screen .panel-button.screen-sharing-indicator:active:hover, #panel.login-screen .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ff9638; }
+ #panel.unlock-screen .panel-button, #panel.login-screen .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:hover, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button:active:hover, #panel.unlock-screen .panel-button:checked:hover, #panel.login-screen .panel-button:active:hover, #panel.login-screen .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display, #panel.login-screen .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active:hover, #panel.unlock-screen .panel-button.clock-display:checked:hover, #panel.login-screen .panel-button.clock-display:active:hover, #panel.login-screen .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display .clock, #panel.login-screen .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock:hover, #panel.unlock-screen .panel-button.clock-display:checked .clock:hover, #panel.login-screen .panel-button.clock-display:active .clock:hover, #panel.login-screen .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel:overview .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel:overview .panel-button:focus, #panel:overview .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel:overview .panel-button:active, #panel:overview .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel:overview .panel-button:active:hover, #panel:overview .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel:overview .panel-button#panelActivities .workspace-dot {
+ background-color: #ffffff; }
+ #panel:overview .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel:overview .panel-button.clock-display:active:hover, #panel:overview .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel:overview .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel:overview .panel-button.clock-display:active .clock:hover, #panel:overview .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel .panel-status-indicators-box {
+ spacing: 2px; }
+ #panel .power-status.panel-status-indicators-box {
+ spacing: 0; }
+ #panel .privacy-indicator {
+ color: #ff7800; }
+
+.clock-display-box {
+ spacing: 2px; }
+ .clock-display-box .clock {
+ padding-left: 0.818em;
+ padding-right: 0.818em; }
+
+/* Activities Ripple */
+.ripple-box {
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2);
+ width: 52px;
+ height: 52px;
+ border-radius: 0 0 52px 0; }
+ .ripple-box:rtl {
+ border-radius: 0 0 0 52px; }
+
+.quick-settings {
+ padding: 18px;
+ border-radius: 36px; }
+ .quick-settings .icon-button, .quick-settings .login-dialog-button.a11y-button, .quick-settings .login-dialog-button.cancel-button, .quick-settings .login-dialog-button.switch-user-button, .quick-settings .login-dialog-button.login-dialog-session-list-button, .quick-settings .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-settings .pager-button, .quick-settings .message-notification-group .message-collapse-button, .message-notification-group .quick-settings .message-collapse-button, .quick-settings .message .message-header .message-expand-button, .message .message-header .quick-settings .message-expand-button,
+ .quick-settings .message .message-header .message-close-button,
+ .message .message-header .quick-settings .message-close-button, .quick-settings .screenshot-ui-show-pointer-button, .quick-settings .button {
+ padding: 10.5px; }
+
+.quick-settings-grid {
+ spacing-rows: 12px;
+ spacing-columns: 12px; }
+
+.quick-toggle, .quick-toggle-has-menu {
+ border-radius: 999px;
+ min-width: 12em;
+ max-width: 12em;
+ min-height: 3.273em; }
+
+.quick-toggle {
+ /* Move padding into the box; this is to allow menu arrows
+ to extend to the border */ }
+ .quick-toggle > StBoxLayout {
+ spacing: 9px; }
+ .quick-toggle.button {
+ padding: 0; }
+ .quick-toggle > StBoxLayout {
+ padding: 0 12px; }
+ .quick-toggle:ltr > StBoxLayout {
+ padding-left: 15px; }
+ .quick-toggle:rtl > StBoxLayout {
+ padding-right: 15px; }
+ .quick-toggle .quick-toggle-subtitle {
+ font-weight: normal; }
+ .quick-toggle .quick-toggle-icon {
+ icon-size: 1.091em; }
+
+.quick-toggle-has-menu .quick-toggle {
+ min-width: auto;
+ max-width: auto; }
+ .quick-toggle-has-menu .quick-toggle:ltr {
+ border-radius: 999px 0 0 999px; }
+ .quick-toggle-has-menu .quick-toggle:ltr > StBoxLayout {
+ padding-right: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:rtl {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle:rtl > StBoxLayout {
+ padding-left: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:ltr:last-child {
+ border-radius: 999px; }
+ .quick-toggle-has-menu .quick-toggle:rtl:last-child {
+ border-radius: 999px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ padding: 0.409em 0.71575em; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:ltr {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:rtl {
+ border-radius: 999px 0 0 999px; }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ width: 1px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #525252, 9%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #525252, 9%), #ffffff, 87%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #525252, 9%), 4%), #ffffff, 87%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #525252, 9%), 4%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #525252, 9%), 9%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #525252, 9%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #525252, 9%), 9%), #ffffff, 87%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 75%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-lighten(-st-accent-color, 30%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(-st-accent-color, #ffffff, 75%), #ffffff, 87%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(-st-accent-color, #ffffff, 75%), 4%), #ffffff, 87%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(st-lighten(st-mix(-st-accent-color, #ffffff, 75%), 4%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ color: -st-accent-fg-color;
+ background-color: st-mix(st-lighten(st-mix(-st-accent-color, #ffffff, 75%), 9%), #ffffff, 87%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(-st-accent-color, #ffffff, 75%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(-st-accent-color, #ffffff, 75%), 9%), #ffffff, 87%), 5%); }
+
+.quick-toggle-has-menu:checked .quick-toggle-separator {
+ background-color: transparent; }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ background-color: transparent; }
+
+.quick-slider > StBoxLayout {
+ spacing: 6px; }
+
+.quick-slider .icon-button, .quick-slider .login-dialog-button.a11y-button, .quick-slider .login-dialog-button.cancel-button, .quick-slider .login-dialog-button.switch-user-button, .quick-slider .login-dialog-button.login-dialog-session-list-button, .quick-slider .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-slider .pager-button, .quick-slider .message-notification-group .message-collapse-button, .message-notification-group .quick-slider .message-collapse-button, .quick-slider .message .message-header .message-expand-button, .message .message-header .quick-slider .message-expand-button,
+.quick-slider .message .message-header .message-close-button,
+.message .message-header .quick-slider .message-close-button, .quick-slider .screenshot-ui-show-pointer-button {
+ padding: 6px; }
+
+.quick-slider .slider-bin {
+ padding: 6px;
+ border-radius: 999px; }
+ .quick-slider .slider-bin:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .quick-slider .slider-bin:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 4%), #ffffff, 87%), 5%); }
+
+.quick-toggle-menu {
+ border-radius: 24px;
++ margin: 12px 0 0; }
+ .quick-toggle-menu:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%); }
+ .quick-toggle-menu .popup-menu-item > StIcon {
+ -st-icon-style: symbolic;
+ icon-size: 1.091em; }
+ .quick-toggle-menu .header {
+ spacing-rows: 3px;
+ spacing-columns: 12px;
+ padding-bottom: 12px; }
+ .quick-toggle-menu .header .icon {
+ icon-size: 1.6365em;
+ border-radius: 999px;
+ padding: 9px;
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+ .quick-toggle-menu .header .icon.active {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .quick-toggle-menu .header .icon.active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+
+.quick-settings-system-item > StBoxLayout {
+ spacing: 12px; }
+
+.quick-settings-system-item .power-item {
+ min-height: 0;
+ min-width: 0; }
+ .quick-settings-system-item .power-item:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%);
+ background-color: transparent; }
+
+.nm-network-item .wireless-secure-icon {
+ icon-size: 0.5455em; }
+
+.bt-device-item .popup-menu-icon {
+ -st-icon-style: symbolic; }
+
+.bt-menu-placeholder.popup-menu-item {
+ text-align: center;
+ padding: 2em 4em; }
+
+.device-subtitle {
+ color: rgba(255, 255, 255, 0.5); }
+
+.keyboard-brightness-level {
+ spacing: 6px; }
+
+.background-apps-quick-toggle {
+ min-height: 2.728em;
+ background-color: transparent; }
+ .background-apps-quick-toggle StIcon {
+ icon-size: 1.091em !important; }
+
+.background-app-item .popup-menu-icon {
+ icon-size: 32px !important;
+ -st-icon-style: regular !important; }
+
+.background-app-item .icon-button, .background-app-item .login-dialog-button.a11y-button, .background-app-item .login-dialog-button.cancel-button, .background-app-item .login-dialog-button.switch-user-button, .background-app-item .login-dialog-button.login-dialog-session-list-button, .background-app-item .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .background-app-item .pager-button, .background-app-item .message-notification-group .message-collapse-button, .message-notification-group .background-app-item .message-collapse-button, .background-app-item .message .message-header .message-expand-button, .message .message-header .background-app-item .message-expand-button,
+.background-app-item .message .message-header .message-close-button,
+.message .message-header .background-app-item .message-close-button, .background-app-item .screenshot-ui-show-pointer-button {
+ padding: 6px;
+ background-color: rgba(255, 255, 255, 0.13); }
+ .background-app-item .icon-button:hover, .background-app-item .login-dialog-button.a11y-button:hover, .background-app-item .login-dialog-button.cancel-button:hover, .background-app-item .login-dialog-button.switch-user-button:hover, .background-app-item .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .background-app-item .pager-button:hover, .background-app-item .message-notification-group .message-collapse-button:hover, .message-notification-group .background-app-item .message-collapse-button:hover, .background-app-item .message .message-header .message-expand-button:hover, .message .message-header .background-app-item .message-expand-button:hover,
+ .background-app-item .message .message-header .message-close-button:hover,
+ .message .message-header .background-app-item .message-close-button:hover, .background-app-item .screenshot-ui-show-pointer-button:hover {
+ background-color: rgba(255, 255, 255, 0.22); }
+ .background-app-item .icon-button:active, .background-app-item .login-dialog-button.a11y-button:active, .background-app-item .login-dialog-button.cancel-button:active, .background-app-item .login-dialog-button.switch-user-button:active, .background-app-item .login-dialog-button.login-dialog-session-list-button:active, .background-app-item .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .background-app-item .pager-button:active, .background-app-item .message-notification-group .message-collapse-button:active, .message-notification-group .background-app-item .message-collapse-button:active, .background-app-item .message .message-header .message-expand-button:active, .message .message-header .background-app-item .message-expand-button:active,
+ .background-app-item .message .message-header .message-close-button:active,
+ .message .message-header .background-app-item .message-close-button:active, .background-app-item .screenshot-ui-show-pointer-button:active {
+ background-color: rgba(255, 255, 255, 0.31); }
+
+.background-app-item .spinner {
+ padding: 6px; }
+
+.background-app-item.popup-inactive-menu-item {
+ color: #ffffff; }
+
+/* OVERVIEW */
+.secondary-monitor-workspaces {
+ spacing: 12px; }
+
+#overviewGroup {
+ background-color: #000000; }
+
+/* Window Picker */
+.window-picker {
+ spacing: 6px; }
+
+.window-icon {
+ background-color: #000000;
+ padding: 12px;
+ border-radius: 16px;
+ border: 2px solid rgba(255, 255, 255, 0.4);
+ margin: 18px; }
+
+.window-close, .screenshot-ui-close-button {
+ background-color: rgba(31, 31, 31, 0.98);
+ color: #ffffff;
+ border-radius: 999px;
+ box-shadow: 0 2px 4px 0 transparent;
+ padding: 3px;
+ height: 32px;
+ width: 32px;
+ transition-duration: 100ms;
+ border: 2px solid transparent;
+ border-color: rgba(255, 255, 255, 0.4); }
+ .window-close StIcon, .screenshot-ui-close-button StIcon {
+ icon-size: 24px; }
+ .window-close:hover, .screenshot-ui-close-button:hover {
+ background-color: rgba(48, 48, 48, 0.98); }
+ .window-close:active, .screenshot-ui-close-button:active {
+ background-color: rgba(64, 64, 64, 0.98); }
+
+.workspace-background {
+ border-radius: 30px;
+ background-color: rgba(3, 2, 1, 0);
+ box-shadow: 0 4px 16px 4px transparent; }
+
+.search-entry {
+ border-radius: 999px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ width: 24em; }
+ .search-entry .search-entry-icon {
+ icon-size: 1.091em;
+ margin-top: 2px;
+ padding: 0 4px; }
+
+/* Search */
+#searchResults {
+ margin: 0 4px; }
+
+#searchResultsContent {
+ max-width: 1044px; }
+
+.search-section {
+ spacing: 18px; }
+ .search-section .search-section-separator {
+ height: 8px;
+ background-color: transparent; }
+
+.search-section-content {
+ background-color: #252525;
+ color: #ffffff;
+ border-radius: 24px;
+ padding: 12px;
+ margin: 0 12px;
+ border: 2px solid transparent;
+ border-color: rgba(255, 255, 255, 0.4); }
+
+.list-search-result, .search-provider-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ background-color: transparent;
+ border-radius: 13.2px; }
+ .list-search-result:focus, .search-provider-icon:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(37, 37, 37, 0.25), 5%); }
+ .list-search-result:focus:hover, .search-provider-icon:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 7%), #ffffff, 87%), 5%); }
+ .list-search-result:hover, .search-provider-icon:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 7%), #ffffff, 87%); }
+ .list-search-result:active, .search-provider-icon:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 9%), #ffffff, 87%); }
+ .list-search-result:active:hover, .search-provider-icon:active:hover {
+ background-color: st-lighten(st-lighten(#252525, 9%), 7%); }
+ .list-search-result:active:focus, .search-provider-icon:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 9%), #ffffff, 87%), 5%); }
+ .list-search-result:highlighted, .search-provider-icon:highlighted, .list-search-result:selected, .search-provider-icon:selected, .list-search-result:checked, .search-provider-icon:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 8%), #ffffff, 87%); }
+ .list-search-result:highlighted:hover, .search-provider-icon:highlighted:hover, .list-search-result:selected:hover, .search-provider-icon:selected:hover, .list-search-result:checked:hover, .search-provider-icon:checked:hover {
+ background-color: st-lighten(st-lighten(#252525, 8%), 7%); }
+ .list-search-result:highlighted:active, .search-provider-icon:highlighted:active, .list-search-result:selected:active, .search-provider-icon:selected:active, .list-search-result:checked:active, .search-provider-icon:checked:active {
+ background-color: st-lighten(st-lighten(#252525, 8%), 9%); }
+ .list-search-result:insensitive, .search-provider-icon:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .list-search-result:drop, .search-provider-icon:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.search-statusbox {
+ spacing: 24px; }
+
+.search-statustext {
+ color: rgba(255, 255, 255, 0.8); }
+
+.grid-search-results {
+ spacing: 30px; }
+
+.search-provider-icon:ltr {
+ margin-right: 4px; }
+
+.search-provider-icon:rtl {
+ margin-left: 4px; }
+
+.search-provider-icon .list-search-provider-content {
+ spacing: 12px; }
+ .search-provider-icon .list-search-provider-content .list-search-provider-details {
+ width: 120px;
+ color: #ffffff; }
+
+.list-search-results {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-content {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-title {
+ spacing: 12px;
+ font-weight: bold; }
+
+.list-search-result .list-search-result-description {
+ color: #b6b6b6;
+ color: #ffffff; }
+
+/* Dash */
+#dash {
+ padding-left: 6px;
+ padding-right: 6px; }
+ #dash .dash-background {
+ background-color: #252525;
+ border-radius: 28px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ padding-left: 10px;
+ padding-right: 10px;
+ box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4); }
+ #dash .dash-item-container .placeholder {
+ background-image: none;
+ background-size: contain;
+ height: 32px; }
+ #dash .dash-item-container .empty-dash-drop-target {
+ width: 32px;
+ height: 32px; }
+ #dash .dash-item-container .show-apps,
+ #dash .dash-item-container .overview-tile,
+ #dash .dash-item-container .grid-search-result {
+ margin: 0 2px;
+ padding-bottom: 12px; }
+ #dash .dash-item-container .show-apps .overview-icon,
+ #dash .dash-item-container .overview-tile .overview-icon,
+ #dash .dash-item-container .grid-search-result .overview-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ #dash .dash-item-container .show-apps:focus .overview-icon,
+ #dash .dash-item-container .overview-tile:focus .overview-icon,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(37, 37, 37, 0.25), 5%); }
+ #dash .dash-item-container .show-apps:focus .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:focus .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 7%), #ffffff, 87%), 5%); }
+ #dash .dash-item-container .show-apps:hover .overview-icon,
+ #dash .dash-item-container .overview-tile:hover .overview-icon,
+ #dash .dash-item-container .grid-search-result:hover .overview-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 7%), #ffffff, 87%); }
+ #dash .dash-item-container .show-apps:active .overview-icon,
+ #dash .dash-item-container .overview-tile:active .overview-icon,
+ #dash .dash-item-container .grid-search-result:active .overview-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 9%), #ffffff, 87%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:active .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#252525, 9%), 7%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:focus,
+ #dash .dash-item-container .overview-tile:active .overview-icon:focus,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 9%), #ffffff, 87%), 5%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon,
+ #dash .dash-item-container .overview-tile:checked .overview-icon,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 8%), #ffffff, 87%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#252525, 8%), 7%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:active,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:active,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:active {
+ background-color: st-lighten(st-lighten(#252525, 8%), 9%); }
+ #dash .dash-item-container .app-grid-running-dot {
+ offset-y: -13px; }
+ #dash .dash-separator {
+ width: 1px;
+ margin-left: 4px;
+ margin-right: 4px;
+ background-color: rgba(255, 255, 255, 0.1);
+ width: 2px;
+ background-color: rgba(255, 255, 255, 0.4); }
+ #dash .dash-separator,
+ #dash .dash-background {
+ margin-bottom: 12px; }
+
+.dash-label {
+ -y-offset: 8px; }
+
+/* App Grid */
+.icon-grid {
+ row-spacing: 12px;
+ column-spacing: 12px;
+ max-row-spacing: 36px;
+ max-column-spacing: 36px;
+ page-padding-top: 24px;
+ page-padding-bottom: 24px;
+ page-padding-left: 18px;
+ page-padding-right: 18px; }
+
+/* App Icons */
+.overview-tile, .grid-search-result {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ background-color: transparent;
+ border-radius: 24px;
+ padding: 12px; }
+ .overview-tile:focus, .grid-search-result:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(0, 0, 0, 0.25), 5%); }
+ .overview-tile:focus:hover, .grid-search-result:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 7%), #ffffff, 87%), 5%); }
+ .overview-tile:hover, .grid-search-result:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 7%), #ffffff, 87%); }
+ .overview-tile:active, .grid-search-result:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 9%), #ffffff, 87%); }
+ .overview-tile:active:hover, .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#000000, 9%), 7%); }
+ .overview-tile:active:focus, .grid-search-result:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
+ .overview-tile:highlighted, .grid-search-result:highlighted, .overview-tile:selected, .grid-search-result:selected, .overview-tile:checked, .grid-search-result:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 8%), #ffffff, 87%); }
+ .overview-tile:highlighted:hover, .grid-search-result:highlighted:hover, .overview-tile:selected:hover, .grid-search-result:selected:hover, .overview-tile:checked:hover, .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#000000, 8%), 7%); }
+ .overview-tile:highlighted:active, .grid-search-result:highlighted:active, .overview-tile:selected:active, .grid-search-result:selected:active, .overview-tile:checked:active, .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#000000, 8%), 9%); }
+ .overview-tile:insensitive, .grid-search-result:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .overview-tile:drop, .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .overview-tile .overview-icon.overview-icon-with-label > StBoxLayout, .grid-search-result .overview-icon.overview-icon-with-label > StBoxLayout {
+ spacing: 6px; }
+
+.app-folder {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%); }
+ .app-folder:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%), 5%); }
+ .app-folder:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%), 5%); }
+ .app-folder:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%); }
+ .app-folder:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%); }
+ .app-folder:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
+ .app-folder:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
+ .app-folder:highlighted, .app-folder:selected, .app-folder:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), #ffffff, 87%); }
+ .app-folder:highlighted:hover, .app-folder:selected:hover, .app-folder:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), 4%); }
+ .app-folder:highlighted:active, .app-folder:selected:active, .app-folder:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 8%), 9%); }
+ .app-folder:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: st-darken(st-mix(#ffffff, #000000, 9%), 3%);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .app-folder:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.app-grid-running-dot {
+ height: 5px;
+ width: 5px;
+ border-radius: 5px;
+ background-color: #ffffff;
+ offset-y: 6px; }
+
+.app-folder-dialog-container {
+ padding-top: 2.2em; }
+
+.app-folder-dialog {
+ width: 720px;
+ height: 720px;
+ border-radius: 64px;
+ background-color: #252525;
+ color: #ffffff;
+ padding: 0 2px;
+ box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4); }
+ .app-folder-dialog .folder-name-container {
+ padding: 24px 36px;
+ padding-bottom: 0; }
+ .app-folder-dialog .folder-name-container .folder-name-entry {
+ width: 12em; }
+ .app-folder-dialog .icon-button, .app-folder-dialog .login-dialog-button.a11y-button, .app-folder-dialog .login-dialog-button.cancel-button, .app-folder-dialog .login-dialog-button.switch-user-button, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button, .app-folder-dialog .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .app-folder-dialog .pager-button, .app-folder-dialog .message-notification-group .message-collapse-button, .message-notification-group .app-folder-dialog .message-collapse-button, .app-folder-dialog .message .message-header .message-expand-button, .message .message-header .app-folder-dialog .message-expand-button,
+ .app-folder-dialog .message .message-header .message-close-button,
+ .message .message-header .app-folder-dialog .message-close-button, .app-folder-dialog .screenshot-ui-show-pointer-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #252525, 9%), #ffffff, 87%); }
+ .app-folder-dialog .icon-button:hover, .app-folder-dialog .login-dialog-button.a11y-button:hover, .app-folder-dialog .login-dialog-button.cancel-button:hover, .app-folder-dialog .login-dialog-button.switch-user-button:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:hover, .app-folder-dialog .message-notification-group .message-collapse-button:hover, .message-notification-group .app-folder-dialog .message-collapse-button:hover, .app-folder-dialog .message .message-header .message-expand-button:hover, .message .message-header .app-folder-dialog .message-expand-button:hover,
+ .app-folder-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .app-folder-dialog .message-close-button:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #252525, 9%), 4%), #ffffff, 87%); }
+ .app-folder-dialog .icon-button:active, .app-folder-dialog .login-dialog-button.a11y-button:active, .app-folder-dialog .login-dialog-button.cancel-button:active, .app-folder-dialog .login-dialog-button.switch-user-button:active, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active, .app-folder-dialog .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .app-folder-dialog .pager-button:active, .app-folder-dialog .message-notification-group .message-collapse-button:active, .message-notification-group .app-folder-dialog .message-collapse-button:active, .app-folder-dialog .message .message-header .message-expand-button:active, .message .message-header .app-folder-dialog .message-expand-button:active,
+ .app-folder-dialog .message .message-header .message-close-button:active,
+ .message .message-header .app-folder-dialog .message-close-button:active, .app-folder-dialog .screenshot-ui-show-pointer-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #252525, 9%), 9%), #ffffff, 87%); }
+ .app-folder-dialog .icon-button:active:hover, .app-folder-dialog .login-dialog-button.a11y-button:active:hover, .app-folder-dialog .login-dialog-button.cancel-button:active:hover, .app-folder-dialog .login-dialog-button.switch-user-button:active:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:hover, .app-folder-dialog .message-notification-group .message-collapse-button:active:hover, .message-notification-group .app-folder-dialog .message-collapse-button:active:hover, .app-folder-dialog .message .message-header .message-expand-button:active:hover, .message .message-header .app-folder-dialog .message-expand-button:active:hover,
+ .app-folder-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .app-folder-dialog .message-close-button:active:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #252525, 9%), 9%), 4%); }
+ .app-folder-dialog .icon-button:active:focus, .app-folder-dialog .login-dialog-button.a11y-button:active:focus, .app-folder-dialog .login-dialog-button.cancel-button:active:focus, .app-folder-dialog .login-dialog-button.switch-user-button:active:focus, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:focus, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:focus, .app-folder-dialog .message-notification-group .message-collapse-button:active:focus, .message-notification-group .app-folder-dialog .message-collapse-button:active:focus, .app-folder-dialog .message .message-header .message-expand-button:active:focus, .message .message-header .app-folder-dialog .message-expand-button:active:focus,
+ .app-folder-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #252525, 9%), 9%), #ffffff, 87%), 5%); }
+ .app-folder-dialog .page-indicators {
+ margin-bottom: 24px; }
+ .app-folder-dialog .page-navigation-arrow {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .app-folder-dialog .page-navigation-arrow:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 7%), #ffffff, 87%); }
+ .app-folder-dialog .page-navigation-arrow:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 9%), #ffffff, 87%); }
+ .app-folder-dialog .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#252525, 9%), 7%); }
+ .app-folder-dialog .page-navigation-arrow:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 9%), #ffffff, 87%), 5%); }
+ .app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ background-color: transparent; }
+ .app-folder-dialog .overview-tile:focus, .app-folder-dialog .grid-search-result:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(37, 37, 37, 0.25), 5%); }
+ .app-folder-dialog .overview-tile:focus:hover, .app-folder-dialog .grid-search-result:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 7%), #ffffff, 87%), 5%); }
+ .app-folder-dialog .overview-tile:hover, .app-folder-dialog .grid-search-result:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 7%), #ffffff, 87%); }
+ .app-folder-dialog .overview-tile:active, .app-folder-dialog .grid-search-result:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 9%), #ffffff, 87%); }
+ .app-folder-dialog .overview-tile:active:hover, .app-folder-dialog .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#252525, 9%), 7%); }
+ .app-folder-dialog .overview-tile:active:focus, .app-folder-dialog .grid-search-result:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#252525, 9%), #ffffff, 87%), 5%); }
+ .app-folder-dialog .overview-tile:highlighted, .app-folder-dialog .grid-search-result:highlighted, .app-folder-dialog .overview-tile:selected, .app-folder-dialog .grid-search-result:selected, .app-folder-dialog .overview-tile:checked, .app-folder-dialog .grid-search-result:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#252525, 8%), #ffffff, 87%); }
+ .app-folder-dialog .overview-tile:highlighted:hover, .app-folder-dialog .grid-search-result:highlighted:hover, .app-folder-dialog .overview-tile:selected:hover, .app-folder-dialog .grid-search-result:selected:hover, .app-folder-dialog .overview-tile:checked:hover, .app-folder-dialog .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#252525, 8%), 7%); }
+ .app-folder-dialog .overview-tile:highlighted:active, .app-folder-dialog .grid-search-result:highlighted:active, .app-folder-dialog .overview-tile:selected:active, .app-folder-dialog .grid-search-result:selected:active, .app-folder-dialog .overview-tile:checked:active, .app-folder-dialog .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#252525, 8%), 9%); }
+ .app-folder-dialog .overview-tile:insensitive, .app-folder-dialog .grid-search-result:insensitive {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: st-transparentize(#ffffff, 0.5);
+ background-color: #252525;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .app-folder-dialog .overview-tile:drop, .app-folder-dialog .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.rename-folder-popup .rename-folder-popup-item {
+ spacing: 6px; }
+ .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl {
+ padding: 0 12px; }
+
+.page-indicator {
+ padding: 6px 12px 0;
+ transition-duration: 400ms; }
+ .page-indicator .page-indicator-icon {
+ width: 10px;
+ height: 10px;
+ border-radius: 999px;
+ background-color: #ffffff;
+ transition-duration: 400ms; }
+
+.apps-scroll-view {
+ padding: 0; }
+
+.system-action-icon {
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ border-radius: 999px;
+ icon-size: 48px;
+ box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4); }
+
+.page-navigation-hint.dnd {
+ background: rgba(255, 255, 255, 0.1); }
+
+.page-navigation-hint.next:ltr, .page-navigation-hint.previous:rtl {
+ background-gradient-start: rgba(255, 255, 255, 0.05);
+ background-gradient-end: transparent;
+ background-gradient-direction: horizontal;
+ border-radius: 24px 0px 0px 24px; }
+
+.page-navigation-hint.previous:ltr, .page-navigation-hint.next:rtl {
+ background-gradient-start: transparent;
+ background-gradient-end: rgba(255, 255, 255, 0.05);
+ background-gradient-direction: horizontal;
+ border-radius: 0px 24px 24px 0px; }
+
+.page-navigation-arrow {
+ margin: 6px;
+ padding: 18px;
+ width: 24px;
+ height: 24px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none; }
+ .page-navigation-arrow > StIcon {
+ color: #ffffff; }
+ .page-navigation-arrow:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 7%), #ffffff, 87%); }
+ .page-navigation-arrow:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 9%), #ffffff, 87%); }
+ .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#000000, 9%), 7%); }
+ .page-navigation-arrow:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
+
+/* Workspace pager */
+.workspace-thumbnails {
+ visible-width: 32px;
+ spacing: 6px;
+ padding: 6px; }
+ .workspace-thumbnails .workspace-thumbnail {
+ color: #ffffff;
+ background-color: #262626;
+ border-radius: 4px;
+ border: 1px solid transparent;
+ border-color: rgba(255, 255, 255, 0.4); }
+ .workspace-thumbnails .placeholder {
+ background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
+ background-size: contain;
+ width: 18px; }
+
+.workspace-thumbnail-indicator {
+ border: 3px solid -st-accent-color;
+ border-radius: 8px; }
+
+.ripple-pointer-location {
+ width: 50px;
+ height: 50px;
+ border-radius: 25px;
+ background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 30%);
+ box-shadow: 0 0 2px 2px st-lighten(-st-accent-color, 20%); }
+
+.pie-timer {
+ width: 60px;
+ height: 60px;
+ -pie-border-width: 3px;
+ -pie-border-color: -st-accent-color;
+ -pie-background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 40%); }
+
+.magnifier-zoom-region {
+ border: 2px solid -st-accent-color; }
+ .magnifier-zoom-region.full-screen {
+ border-width: 0; }
+
+.select-area-rubberband {
+ background-color: st-transparentize(-st-accent-color, 0.7);
+ border: 1px solid -st-accent-color; }
+
+.user-icon {
+ background-size: contain;
+ border-radius: 999px;
+ icon-size: 64px;
+ background-color: rgba(255, 255, 255, 0.05);
+ color: #ffffff; }
+ .user-icon StIcon {
+ padding: 12px; }
+ .user-icon.user-avatar {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+
+.lightbox {
+ background-color: black; }
+
+.flashspot {
+ background-color: white; }
+
+.hidden {
+ color: transparent; }
+
+.caps-lock-warning-label {
+ text-align: center;
+ padding-bottom: 8px;
+ color: #cd9309; }
+
+/* Workspace animation */
+.workspace-animation {
+ background-color: #0d0d0d; }
+
+/* Tiled window previews */
+.tile-preview {
+ background-color: st-transparentize(-st-accent-color, 0.5);
+ border: 1px solid -st-accent-color; }
+
+/* On-screen Keyboard */
+#keyboard {
+ background-color: #000000;
+ box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.2); }
+ #keyboard .page-indicator {
+ padding: 6px; }
+ #keyboard .page-indicator .page-indicator-icon {
+ width: 8px;
+ height: 8px; }
+
+.key-container {
+ padding: 4px;
+ spacing: 4px; }
+
+.keyboard-key {
+ font-size: 1.455em;
+ font-weight: bold;
+ border-radius: 0.546em;
+ box-shadow: 0 1px 0 0 transparent;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #4d4d4d, 9%), #ffffff, 87%); }
+ .keyboard-key:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .keyboard-key:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 4%), #ffffff, 87%), 5%); }
+ .keyboard-key:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 4%), #ffffff, 87%); }
+ .keyboard-key:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), #ffffff, 87%); }
+ .keyboard-key:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 4%); }
+ .keyboard-key:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), #ffffff, 87%), 5%); }
+ .keyboard-key:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), #ffffff, 87%); }
+ .keyboard-key:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 4%); }
+ .keyboard-key:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 9%); }
+ .keyboard-key.default-key {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #333333, 9%), #ffffff, 87%);
+ border: none; }
+ .keyboard-key.default-key:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #333333, 9%), 4%), #ffffff, 87%); }
+ .keyboard-key.default-key:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #333333, 9%), 9%), #ffffff, 87%); }
+ .keyboard-key.default-key:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 9%), 4%); }
+ .keyboard-key.default-key:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #333333, 9%), 9%), #ffffff, 87%), 5%); }
+ .keyboard-key.default-key:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #333333, 9%), 8%), #ffffff, 87%); }
+ .keyboard-key.default-key:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 8%), 4%); }
+ .keyboard-key.default-key:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #333333, 9%), 8%), 9%); }
+ .keyboard-key.default-key:latched {
+ background-color: -st-accent-color; }
+ .keyboard-key StIcon {
+ icon-size: 1.6365em; }
+
+.keyboard-subkeys-boxpointer {
+ -arrow-border-radius: 22px;
+ -arrow-background-color: #000000;
+ -arrow-border-width: 1px;
+ -arrow-border-color: #171717;
+ -arrow-base: 20px;
+ -arrow-rise: 10px;
+ -boxpointer-gap: 4px;
+ border-radius: 22px;
+ box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1); }
+ .keyboard-subkeys-boxpointer .key-container {
+ padding: 12px;
+ spacing: 8px; }
+
+.emoji-page .keyboard-key {
+ background-color: transparent;
+ border: none;
+ color: initial; }
+
+.emoji-panel .keyboard-key:latched {
+ border-color: st-lighten(-st-accent-color, 5%);
+ background-color: -st-accent-color; }
+
+.word-suggestions {
+ spacing: 12px;
+ min-height: 17pt;
+ padding: 12px;
+ color: #ffffff; }
+ .word-suggestions StButton {
+ margin: 0 3px;
+ min-width: 32px;
+ border-radius: 4px;
+ padding: 6px 18px;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .word-suggestions StButton:insensitive {
+ background-color: transparent !important; }
+ .word-suggestions StButton:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #1a1a1a, 9%), #ffffff, 87%), 5%); }
+ .word-suggestions StButton:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #1a1a1a, 9%), 4%), #ffffff, 87%), 5%); }
+ .word-suggestions StButton:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 4%), #ffffff, 87%); }
+ .word-suggestions StButton:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), #ffffff, 87%); }
+ .word-suggestions StButton:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), 4%); }
+ .word-suggestions StButton:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 9%), #ffffff, 87%), 5%); }
+ .word-suggestions StButton:checked {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), #ffffff, 87%); }
+ .word-suggestions StButton:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 4%); }
+ .word-suggestions StButton:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #4d4d4d, 9%), 8%), 9%); }
+
+/* Looking Glass */
+.lg-dialog StEntry {
+ min-height: 1.5em; }
+
+.lg-dialog .shell-link {
+ color: st-lighten(-st-accent-color, 20%); }
+ .lg-dialog .shell-link:hover {
+ color: st-lighten(st-lighten(-st-accent-color, 20%), 10%); }
+ .lg-dialog .shell-link:active {
+ color: st-darken(st-lighten(-st-accent-color, 20%), 10%); }
+
+.lg-dialog .actor-link {
+ color: st-darken(#ffffff, 20%); }
+ .lg-dialog .actor-link:hover {
+ color: #ffffff; }
+ .lg-dialog .actor-link:active {
+ color: st-lighten(#ffffff, 20%); }
+ .lg-dialog .actor-link StIcon {
+ icon-size: 12px; }
+
+.lg-completions-text {
+ font-style: italic; }
+
+#LookingGlassDialog {
+ background-color: rgba(0, 0, 0, 0.98);
+ color: #ffffff;
+ border-radius: 16px;
+ margin-top: 4px;
+ border: 2px solid transparent;
+ padding: 6px;
+ spacing: 6px;
+ box-shadow: 0 2px 4px 0 transparent;
+ border-color: rgba(255, 255, 255, 0.4);
+ background-color: #000000;
+ box-shadow: none; }
+ #LookingGlassDialog > #Toolbar {
+ border: none;
+ padding: 6px;
+ border-radius: 0;
+ background-color: transparent;
+ spacing: 6px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ padding: 6px 12px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button > StIcon {
+ icon-size: 16px; }
+ #LookingGlassDialog .labels {
+ spacing: 6px; }
+ #LookingGlassDialog .notebook-tab {
+ background-color: transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 12px;
+ padding: 6px 12px; }
+ #LookingGlassDialog .notebook-tab:selected {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%); }
+ #LookingGlassDialog .notebook-tab:selected:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
+ #LookingGlassDialog .notebook-tab:selected:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
+
+#LookingGlassPropertyInspector {
+ background-color: #000000;
+ color: #ffffff;
+ border-radius: 16px;
+ border: 1px solid rgba(255, 255, 255, 0.2);
+ padding: 12px;
+ border-color: rgba(255, 255, 255, 0.4); }
+ #LookingGlassPropertyInspector .lg-obj-inspector-title {
+ spacing: 4px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button {
+ padding: 6px 12px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button {
+ margin: 4px;
+ padding: 6px;
+ border-radius: 999px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button > StIcon {
+ icon-size: 16px; }
+
+#LookingGlassEvaluator {
+ padding: 6px; }
+ #LookingGlassEvaluator .evaluator-results {
+ spacing: 6px; }
+
+#LookingGlassWindows {
+ padding: 6px;
+ spacing: 6px; }
+ #LookingGlassWindows .lg-window {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%);
+ margin: 0;
+ padding: 12px; }
+
+#LookingGlassExtensions .lg-extensions-list {
+ padding: 6px;
+ spacing: 6px; }
+
+#LookingGlassExtensions .lg-extension {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%);
+ margin: 0;
+ spacing: 4px;
+ padding: 12px; }
+ #LookingGlassExtensions .lg-extension .lg-extension-name {
+ color: #ffffff !important; }
+ #LookingGlassExtensions .lg-extension .lg-extension-meta {
+ spacing: 12px; }
+
+#LookingGlassExtensions .lg-extensions-none {
+ color: rgba(255, 255, 255, 0.5); }
+
+#LookingGlassActors {
+ padding: 6px;
+ spacing: 4px; }
+
+#LookingGlassDebugFlags .lg-debug-flags-header {
+ padding: 6px;
+ padding-top: 12px; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button {
+ padding: 9px 12px;
+ margin-bottom: 6px; }
+ #LookingGlassDebugFlags .lg-debug-flag-button StLabel {
+ font-weight: normal !important; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch {
+ background: rgba(255, 255, 255, 0.3); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:hover {
+ background: rgba(255, 255, 255, 0.4); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.login-dialog,
+.unlock-dialog {
+ color: #ffffff; }
+ .login-dialog .caps-lock-warning-label,
+ .login-dialog .login-dialog-message-warning,
+ .unlock-dialog .caps-lock-warning-label,
+ .unlock-dialog .login-dialog-message-warning {
+ color: #ffffff; }
+ .login-dialog .login-dialog-prompt-layout,
+ .unlock-dialog .login-dialog-prompt-layout {
+ width: 25em;
+ spacing: 9px; }
+
+.login-dialog-bottom-button-group {
+ padding: 32px;
+ spacing: 16px; }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ padding: 1.091em; }
+
+.login-dialog-button.cancel-button {
+ padding: 9px; }
+
+.login-dialog-button-box {
+ spacing: 12px; }
+
+.conflicting-session-dialog-content {
+ spacing: 20px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-title {
+ text-align: center;
+ margin-bottom: 5px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc {
+ text-align: center; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc-warning {
+ text-align: center;
+ color: #cd9309;
+ background-color: rgba(205, 147, 9, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+.login-dialog-logo-bin {
+ margin: 3em 0; }
+
+.login-dialog-banner-view {
+ max-width: 25em; }
+ .login-dialog-banner-view .login-dialog-banner {
+ color: #e6e6e6; }
+
+.login-dialog-message {
+ text-align: center; }
+
+.login-dialog-message-hint, .login-dialog-message {
+ color: #e6e6e6;
+ min-height: 2.75em; }
+
+.login-dialog-user-selection-box {
+ padding-top: 4em;
+ padding-bottom: 8em; }
+
+.login-dialog-not-listed-label {
+ padding: 6px; }
+
+.login-dialog-not-listed-button {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: #000000;
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ box-shadow: none;
+ border: none;
+ padding: 0 6px;
+ margin: 6px; }
+ .login-dialog-not-listed-button:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), rgba(0, 0, 0, 0.25), 5%); }
+ .login-dialog-not-listed-button:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 7%), #ffffff, 87%), 5%); }
+ .login-dialog-not-listed-button:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 7%), #ffffff, 87%); }
+ .login-dialog-not-listed-button:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(#000000, 9%), #ffffff, 87%); }
+ .login-dialog-not-listed-button:active:hover {
+ background-color: st-lighten(st-lighten(#000000, 9%), 7%); }
+ .login-dialog-not-listed-button:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(#000000, 9%), #ffffff, 87%), 5%); }
+
+.login-dialog-auth-list-view {
+ -st-vfade-offset: 3em; }
+
+.login-dialog-auth-list {
+ spacing: 6px;
+ margin-left: 2em; }
+
+.login-dialog-auth-list-title {
+ margin-left: 2em;
+ padding-bottom: 6px; }
+
+.login-dialog .login-dialog-auth-list-item {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%);
+ border-radius: 9.6px;
+ padding: 7.2px; }
+ .login-dialog .login-dialog-auth-list-item:selected, .login-dialog .login-dialog-auth-list-item:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:selected:hover, .login-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%); }
+ .login-dialog .login-dialog-auth-list-item:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%); }
+ .login-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
+ .login-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
+
+.unlock-dialog .login-dialog-auth-list-item {
+ border-radius: 9.6px;
+ padding: 7.2px; }
+
+.login-dialog-auth-list-label:ltr {
+ padding-left: 15px;
+ text-align: left; }
+
+.login-dialog-auth-list-label:rtl {
+ padding-right: 15px;
+ text-align: right; }
+
+.login-dialog-user-list-view {
+ width: 25em;
+ -st-vfade-offset: 3em; }
+ .login-dialog-user-list-view .login-dialog-user-list {
+ margin: 0 8px;
+ spacing: 12px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%);
+ border-radius: 16px;
+ padding: 9px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-mix(-st-accent-color, #ffffff, 60%), 0.1) !important;
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-mix(#ffffff, #000000, 9%), #ffffff, 87%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected:hover, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus:hover {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:hover {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 4%), #ffffff, 87%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active {
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
+ color: #ffffff;
+ background-color: st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), 4%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
+ background-color: st-mix(st-mix(-st-accent-color, #ffffff, 60%), st-mix(st-lighten(st-mix(#ffffff, #000000, 9%), 9%), #ffffff, 87%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
+ border: 2px solid transparent; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
+ height: 2px;
+ margin-top: 6px;
+ background-color: rgba(255, 255, 255, 0.7); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon {
+ border-color: -st-accent-color; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
+ background-color: st-transparentize(-st-accent-color, 0.7); }
+
+.unlock-dialog {
+ background-color: transparent; }
+
+.screen-shield-background {
+ background: black;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); }
+
+#lockDialogGroup {
+ background-color: #000000; }
+
+.unlock-dialog-clock {
+ color: #ffffff;
+ spacing: 2em; }
+ .unlock-dialog-clock .unlock-dialog-clock-time {
+ font-size: 6.546em;
+ font-weight: 800; }
+ .unlock-dialog-clock .unlock-dialog-clock-date {
+ font-weight: 400; }
+ .unlock-dialog-clock .unlock-dialog-clock-hint {
+ margin-top: 2em;
+ padding: 6px 18px;
+ border-radius: 16px;
+ font-weight: bold; }
+
+.parental-controls-shield {
+ spacing: 0.75em; }
+ .parental-controls-shield .parental-controls-shield-title {
+ margin-top: 0.6em;
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-description {
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-button {
+ margin-top: 0.85em;
+ padding: 16px 44px;
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 999px; }
+
+#unlockDialogNotifications > .vhandle, #unlockDialogNotifications > .hhandle {
+ background-color: rgba(26, 26, 26, 0.3); }
+ #unlockDialogNotifications > .vhandle:hover, #unlockDialogNotifications > .vhandle:focus, #unlockDialogNotifications > .hhandle:hover, #unlockDialogNotifications > .hhandle:focus {
+ background-color: rgba(26, 26, 26, 0.5); }
+ #unlockDialogNotifications > .vhandle:active, #unlockDialogNotifications > .hhandle:active {
+ background-color: st-transparentize(-st-accent-color, 0.5); }
+
+.unlock-dialog-notifications-container {
+ margin: 12px;
+ spacing: 6px;
+ width: 25em;
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .summary-notification-stack-scrollview {
+ padding-top: 0;
+ padding-bottom: 0; }
+ .unlock-dialog-notifications-container .message,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source {
+ padding: 12px 16px;
+ border: none;
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ border-radius: 16px; }
+ .unlock-dialog-notifications-container .message.critical,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source.critical {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .unlock-dialog-notifications-container .message:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source:active {
+ background-color: rgba(255, 255, 255, 0.1); }
+ .unlock-dialog-notifications-container .message StButton,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton {
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive {
+ background-color: transparent;
+ opacity: 0.5; }
+ .unlock-dialog-notifications-container .message .message-header,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source .message-header {
+ color: #ffffff; }
+
+.unlock-dialog-notification-icon {
+ icon-size: 32px; }
+
+.unlock-dialog-notification-label {
+ padding-left: 12px;
+ padding-right: 0; }
+ .unlock-dialog-notification-label:rtl {
+ padding-right: 12px;
+ padding-left: 0; }
+
+.unlock-dialog-notification-count-text {
+ font-weight: bold;
+ padding: 0 12px;
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 999px; }
+
+.login-dialog .user-widget .user-widget-label,
+.unlock-dialog .user-widget .user-widget-label {
+ color: #ffffff; }
+
+.login-dialog .user-widget .user-icon,
+.unlock-dialog .user-widget .user-icon {
+ background-color: rgba(255, 255, 255, 0.13);
+ color: #ffffff;
+ background-color: rgba(255, 255, 255, 0.3);
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); }
+
+.login-dialog .user-widget.horizontal,
+.unlock-dialog .user-widget.horizontal {
+ spacing: 18px; }
+
+.login-dialog .user-widget.vertical,
+.unlock-dialog .user-widget.vertical {
+ spacing: 24px; }
+ .login-dialog .user-widget.vertical .user-widget-label,
+ .unlock-dialog .user-widget.vertical .user-widget-label {
+ font-weight: 400;
+ font-size: 1.818em;
+ text-align: center;
+ margin-bottom: .75em; }
+ .login-dialog .user-widget.vertical .user-icon,
+ .unlock-dialog .user-widget.vertical .user-icon {
+ icon-size: 160px; }
+ .login-dialog .user-widget.vertical .user-icon StIcon,
+ .unlock-dialog .user-widget.vertical .user-icon StIcon {
+ padding: 30px; }
--- /dev/null
- margin: 12px 18px 0; }
+/* This stylesheet is generated, DO NOT EDIT */
+/* Copyright 2009, 2015 Red Hat, Inc.
+ *
+ * Portions adapted from Mx's data/style/default.css
+ * Copyright 2009 Intel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU Lesser General Public License,
+ * version 2.1, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+/* Global Values */
+stage {
+ font-size: 1em;
+ color: #222226; }
+
+/* Common Stylings */
+#dash .dash-item-container .show-apps,
+#dash .dash-item-container .overview-tile,
+#dash .dash-item-container .grid-search-result {
+ background: none;
+ box-shadow: none;
+ border: none;
+ border-radius: 0;
+ padding: 0;
+ margin: 0; }
+
+.app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result, .app-folder, .overview-tile, .grid-search-result, #dash .dash-item-container .show-apps .overview-icon,
+#dash .dash-item-container .overview-tile .overview-icon,
+#dash .dash-item-container .grid-search-result .overview-icon, .list-search-result, .search-provider-icon, .switcher-list .item-box, .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ border-radius: 16px;
+ padding: 6px;
+ spacing: 6px;
+ text-align: center;
+ transition-duration: 100ms; }
+
+.login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item, .login-dialog .login-dialog-auth-list-item, .login-dialog-not-listed-button, .unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button, .unlock-dialog .login-dialog-auth-list-item, #LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button, #LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button, .icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ border-radius: 8px;
+ padding: 3px 24px;
+ font-weight: bold;
+ transition: border-width 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button, .button {
+ color: #222226;
+ background-color: st-mix(#222226, #fafafb, 12%); }
+ .icon-button:focus, .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus, .screenshot-ui-show-pointer-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus, .message-notification-group .message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#222226, #fafafb, 12%), 5%); }
+ .icon-button:focus:hover, .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover, .message-notification-group .message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #fafafb, 12%), 4%), 5%); }
+ .icon-button:hover, .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .screenshot-ui-show-pointer-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover, .message-notification-group .message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button:hover {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #fafafb, 12%), 4%); }
+ .icon-button:insensitive, .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive, .screenshot-ui-show-pointer-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive, .message-notification-group .message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: st-lighten(st-mix(#222226, #fafafb, 12%), 3%); }
+ .icon-button:selected, .login-dialog-button.a11y-button:selected, .login-dialog-button.cancel-button:selected, .login-dialog-button.switch-user-button:selected, .login-dialog-button.login-dialog-session-list-button:selected, .screenshot-ui-show-pointer-button:selected, .message .message-header .message-expand-button:selected,
+ .message .message-header .message-close-button:selected, .message-notification-group .message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button:selected, .icon-button:active, .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active, .screenshot-ui-show-pointer-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active, .message-notification-group .message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button:active {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #fafafb, 12%), 9%); }
+ .icon-button:selected:hover, .login-dialog-button.a11y-button:selected:hover, .login-dialog-button.cancel-button:selected:hover, .login-dialog-button.switch-user-button:selected:hover, .login-dialog-button.login-dialog-session-list-button:selected:hover, .screenshot-ui-show-pointer-button:selected:hover, .message .message-header .message-expand-button:selected:hover,
+ .message .message-header .message-close-button:selected:hover, .message-notification-group .message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button:selected:hover, .icon-button:active:hover, .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover, .screenshot-ui-show-pointer-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover, .message-notification-group .message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button:active:hover {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 9%), 4%); }
+ .icon-button:selected:focus, .login-dialog-button.a11y-button:selected:focus, .login-dialog-button.cancel-button:selected:focus, .login-dialog-button.switch-user-button:selected:focus, .login-dialog-button.login-dialog-session-list-button:selected:focus, .screenshot-ui-show-pointer-button:selected:focus, .message .message-header .message-expand-button:selected:focus,
+ .message .message-header .message-close-button:selected:focus, .message-notification-group .message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button:selected:focus, .icon-button:active:focus, .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus, .screenshot-ui-show-pointer-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus, .message-notification-group .message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #fafafb, 12%), 9%), 5%); }
+ .icon-button:checked, .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked, .screenshot-ui-show-pointer-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked, .message-notification-group .message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button:checked {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #fafafb, 12%), 8%); }
+ .icon-button:checked:hover, .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover, .message-notification-group .message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 4%); }
+ .icon-button:checked:active, .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .screenshot-ui-show-pointer-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active, .message-notification-group .message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button:checked:active {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 9%); }
+
+.calendar .calendar-day-heading, .calendar .calendar-day, .calendar .calendar-month-header .calendar-month-label, .icon-button.flat, .flat.login-dialog-button.a11y-button, .flat.login-dialog-button.cancel-button, .flat.login-dialog-button.switch-user-button, .flat.login-dialog-button.login-dialog-session-list-button, .flat.screenshot-ui-show-pointer-button, .message .message-header .flat.message-expand-button,
+.message .message-header .flat.message-close-button, .message-notification-group .flat.message-collapse-button, .calendar .calendar-month-header .pager-button, .button.flat {
+ color: #222226;
+ background-color: #fafafb; }
+ .calendar .calendar-day-heading:focus, .calendar .calendar-day:focus, .calendar .calendar-month-header .calendar-month-label:focus, .icon-button.flat:focus, .flat.login-dialog-button.a11y-button:focus, .flat.login-dialog-button.cancel-button:focus, .flat.login-dialog-button.switch-user-button:focus, .flat.login-dialog-button.login-dialog-session-list-button:focus, .flat.screenshot-ui-show-pointer-button:focus, .message .message-header .flat.message-expand-button:focus,
+ .message .message-header .flat.message-close-button:focus, .message-notification-group .flat.message-collapse-button:focus, .calendar .calendar-month-header .pager-button:focus, .button.flat:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.25), 5%); }
+ .calendar .calendar-day-heading:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .calendar-month-label:focus:hover, .icon-button.flat:focus:hover, .flat.login-dialog-button.a11y-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .flat.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .flat.message-expand-button:focus:hover,
+ .message .message-header .flat.message-close-button:focus:hover, .message-notification-group .flat.message-collapse-button:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .button.flat:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(#fafafb, 7%), 5%); }
+ .calendar .calendar-day-heading:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .calendar-month-label:hover, .icon-button.flat:hover, .flat.login-dialog-button.a11y-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .flat.screenshot-ui-show-pointer-button:hover, .message .message-header .flat.message-expand-button:hover,
+ .message .message-header .flat.message-close-button:hover, .message-notification-group .flat.message-collapse-button:hover, .calendar .calendar-month-header .pager-button:hover, .button.flat:hover {
+ color: #222226;
+ background-color: st-darken(#fafafb, 7%); }
+ .calendar .calendar-day-heading:insensitive, .calendar .calendar-day:insensitive, .calendar .calendar-month-header .calendar-month-label:insensitive, .icon-button.flat:insensitive, .flat.login-dialog-button.a11y-button:insensitive, .flat.login-dialog-button.cancel-button:insensitive, .flat.login-dialog-button.switch-user-button:insensitive, .flat.login-dialog-button.login-dialog-session-list-button:insensitive, .flat.screenshot-ui-show-pointer-button:insensitive, .message .message-header .flat.message-expand-button:insensitive,
+ .message .message-header .flat.message-close-button:insensitive, .message-notification-group .flat.message-collapse-button:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .button.flat:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: #fafafb; }
+ .calendar .calendar-day-heading:selected, .calendar .calendar-day:selected, .calendar .calendar-month-header .calendar-month-label:selected, .icon-button.flat:selected, .flat.login-dialog-button.a11y-button:selected, .flat.login-dialog-button.cancel-button:selected, .flat.login-dialog-button.switch-user-button:selected, .flat.login-dialog-button.login-dialog-session-list-button:selected, .flat.screenshot-ui-show-pointer-button:selected, .message .message-header .flat.message-expand-button:selected,
+ .message .message-header .flat.message-close-button:selected, .message-notification-group .flat.message-collapse-button:selected, .calendar .calendar-month-header .pager-button:selected, .button.flat:selected, .calendar .calendar-day-heading:active, .calendar .calendar-day:active, .calendar .calendar-month-header .calendar-month-label:active, .icon-button.flat:active, .flat.login-dialog-button.a11y-button:active, .flat.login-dialog-button.cancel-button:active, .flat.login-dialog-button.switch-user-button:active, .flat.login-dialog-button.login-dialog-session-list-button:active, .flat.screenshot-ui-show-pointer-button:active, .message .message-header .flat.message-expand-button:active,
+ .message .message-header .flat.message-close-button:active, .message-notification-group .flat.message-collapse-button:active, .calendar .calendar-month-header .pager-button:active, .button.flat:active {
+ color: #222226;
+ background-color: st-darken(#fafafb, 9%); }
+ .calendar .calendar-day-heading:selected:hover, .calendar .calendar-day:selected:hover, .calendar .calendar-month-header .calendar-month-label:selected:hover, .icon-button.flat:selected:hover, .flat.login-dialog-button.a11y-button:selected:hover, .flat.login-dialog-button.cancel-button:selected:hover, .flat.login-dialog-button.switch-user-button:selected:hover, .flat.login-dialog-button.login-dialog-session-list-button:selected:hover, .flat.screenshot-ui-show-pointer-button:selected:hover, .message .message-header .flat.message-expand-button:selected:hover,
+ .message .message-header .flat.message-close-button:selected:hover, .message-notification-group .flat.message-collapse-button:selected:hover, .calendar .calendar-month-header .pager-button:selected:hover, .button.flat:selected:hover, .calendar .calendar-day-heading:active:hover, .calendar .calendar-day:active:hover, .calendar .calendar-month-header .calendar-month-label:active:hover, .icon-button.flat:active:hover, .flat.login-dialog-button.a11y-button:active:hover, .flat.login-dialog-button.cancel-button:active:hover, .flat.login-dialog-button.switch-user-button:active:hover, .flat.login-dialog-button.login-dialog-session-list-button:active:hover, .flat.screenshot-ui-show-pointer-button:active:hover, .message .message-header .flat.message-expand-button:active:hover,
+ .message .message-header .flat.message-close-button:active:hover, .message-notification-group .flat.message-collapse-button:active:hover, .calendar .calendar-month-header .pager-button:active:hover, .button.flat:active:hover {
+ background-color: st-darken(st-darken(#fafafb, 9%), 7%); }
+ .calendar .calendar-day-heading:selected:focus, .calendar .calendar-day:selected:focus, .calendar .calendar-month-header .calendar-month-label:selected:focus, .icon-button.flat:selected:focus, .flat.login-dialog-button.a11y-button:selected:focus, .flat.login-dialog-button.cancel-button:selected:focus, .flat.login-dialog-button.switch-user-button:selected:focus, .flat.login-dialog-button.login-dialog-session-list-button:selected:focus, .flat.screenshot-ui-show-pointer-button:selected:focus, .message .message-header .flat.message-expand-button:selected:focus,
+ .message .message-header .flat.message-close-button:selected:focus, .message-notification-group .flat.message-collapse-button:selected:focus, .calendar .calendar-month-header .pager-button:selected:focus, .button.flat:selected:focus, .calendar .calendar-day-heading:active:focus, .calendar .calendar-day:active:focus, .calendar .calendar-month-header .calendar-month-label:active:focus, .icon-button.flat:active:focus, .flat.login-dialog-button.a11y-button:active:focus, .flat.login-dialog-button.cancel-button:active:focus, .flat.login-dialog-button.switch-user-button:active:focus, .flat.login-dialog-button.login-dialog-session-list-button:active:focus, .flat.screenshot-ui-show-pointer-button:active:focus, .message .message-header .flat.message-expand-button:active:focus,
+ .message .message-header .flat.message-close-button:active:focus, .message-notification-group .flat.message-collapse-button:active:focus, .calendar .calendar-month-header .pager-button:active:focus, .button.flat:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#fafafb, 9%), 5%); }
+ .calendar .calendar-day-heading:checked, .calendar .calendar-day:checked, .calendar .calendar-month-header .calendar-month-label:checked, .icon-button.flat:checked, .flat.login-dialog-button.a11y-button:checked, .flat.login-dialog-button.cancel-button:checked, .flat.login-dialog-button.switch-user-button:checked, .flat.login-dialog-button.login-dialog-session-list-button:checked, .flat.screenshot-ui-show-pointer-button:checked, .message .message-header .flat.message-expand-button:checked,
+ .message .message-header .flat.message-close-button:checked, .message-notification-group .flat.message-collapse-button:checked, .calendar .calendar-month-header .pager-button:checked, .button.flat:checked {
+ color: #222226;
+ background-color: st-darken(#fafafb, 8%); }
+ .calendar .calendar-day-heading:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .calendar-month-label:checked:hover, .icon-button.flat:checked:hover, .flat.login-dialog-button.a11y-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .flat.screenshot-ui-show-pointer-button:checked:hover, .message .message-header .flat.message-expand-button:checked:hover,
+ .message .message-header .flat.message-close-button:checked:hover, .message-notification-group .flat.message-collapse-button:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .button.flat:checked:hover {
+ background-color: st-darken(st-darken(#fafafb, 8%), 7%); }
+ .calendar .calendar-day-heading:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .calendar-month-label:checked:active, .icon-button.flat:checked:active, .flat.login-dialog-button.a11y-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .flat.screenshot-ui-show-pointer-button:checked:active, .message .message-header .flat.message-expand-button:checked:active,
+ .message .message-header .flat.message-close-button:checked:active, .message-notification-group .flat.message-collapse-button:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .button.flat:checked:active {
+ background-color: st-darken(st-darken(#fafafb, 8%), 9%); }
+
+.keyboard-brightness-level .button:checked, .quick-toggle:checked, .calendar .calendar-day.calendar-today, .icon-button.default, .default.login-dialog-button.a11y-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .default.screenshot-ui-show-pointer-button, .message .message-header .default.message-expand-button,
+.message .message-header .default.message-close-button, .message-notification-group .default.message-collapse-button, .calendar .calendar-month-header .default.pager-button, .button.default {
+ color: -st-accent-fg-color;
+ background-color: -st-accent-color; }
+ .keyboard-brightness-level .button:focus:checked, .quick-toggle:focus:checked, .calendar .calendar-day.calendar-today:focus, .icon-button.default:focus, .default.login-dialog-button.a11y-button:focus, .default.login-dialog-button.cancel-button:focus, .default.login-dialog-button.switch-user-button:focus, .default.login-dialog-button.login-dialog-session-list-button:focus, .default.screenshot-ui-show-pointer-button:focus, .message .message-header .default.message-expand-button:focus,
+ .message .message-header .default.message-close-button:focus, .message-notification-group .default.message-collapse-button:focus, .calendar .calendar-month-header .default.pager-button:focus, .button.default:focus {
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-darken(-st-accent-color, 20%), 0.2) !important;
+ background-color: st-mix(-st-accent-color, -st-accent-color, 5%); }
+ .keyboard-brightness-level .button:focus:hover:checked, .quick-toggle:focus:hover:checked, .calendar .calendar-day.calendar-today:focus:hover, .icon-button.default:focus:hover, .default.login-dialog-button.a11y-button:focus:hover, .default.login-dialog-button.cancel-button:focus:hover, .default.login-dialog-button.switch-user-button:focus:hover, .default.login-dialog-button.login-dialog-session-list-button:focus:hover, .default.screenshot-ui-show-pointer-button:focus:hover, .message .message-header .default.message-expand-button:focus:hover,
+ .message .message-header .default.message-close-button:focus:hover, .message-notification-group .default.message-collapse-button:focus:hover, .calendar .calendar-month-header .default.pager-button:focus:hover, .button.default:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(-st-accent-color, 4%), 5%); }
+ .keyboard-brightness-level .button:hover:checked, .quick-toggle:hover:checked, .calendar .calendar-day.calendar-today:hover, .icon-button.default:hover, .default.login-dialog-button.a11y-button:hover, .default.login-dialog-button.cancel-button:hover, .default.login-dialog-button.switch-user-button:hover, .default.login-dialog-button.login-dialog-session-list-button:hover, .default.screenshot-ui-show-pointer-button:hover, .message .message-header .default.message-expand-button:hover,
+ .message .message-header .default.message-close-button:hover, .message-notification-group .default.message-collapse-button:hover, .calendar .calendar-month-header .default.pager-button:hover, .button.default:hover {
+ color: -st-accent-fg-color;
+ background-color: st-darken(-st-accent-color, 4%); }
+ .keyboard-brightness-level .button:insensitive:checked, .quick-toggle:insensitive:checked, .calendar .calendar-day.calendar-today:insensitive, .icon-button.default:insensitive, .default.login-dialog-button.a11y-button:insensitive, .default.login-dialog-button.cancel-button:insensitive, .default.login-dialog-button.switch-user-button:insensitive, .default.login-dialog-button.login-dialog-session-list-button:insensitive, .default.screenshot-ui-show-pointer-button:insensitive, .message .message-header .default.message-expand-button:insensitive,
+ .message .message-header .default.message-close-button:insensitive, .message-notification-group .default.message-collapse-button:insensitive, .calendar .calendar-month-header .default.pager-button:insensitive, .button.default:insensitive {
+ color: st-transparentize(-st-accent-fg-color, 0.6);
+ background-color: st-lighten(-st-accent-color, 3%); }
+ .keyboard-brightness-level .button:active:checked, .quick-toggle:active:checked, .calendar .calendar-day.calendar-today:active, .icon-button.default:active, .default.login-dialog-button.a11y-button:active, .default.login-dialog-button.cancel-button:active, .default.login-dialog-button.switch-user-button:active, .default.login-dialog-button.login-dialog-session-list-button:active, .default.screenshot-ui-show-pointer-button:active, .message .message-header .default.message-expand-button:active,
+ .message .message-header .default.message-close-button:active, .message-notification-group .default.message-collapse-button:active, .calendar .calendar-month-header .default.pager-button:active, .button.default:active {
+ color: -st-accent-fg-color;
+ background-color: st-darken(-st-accent-color, 9%); }
+ .keyboard-brightness-level .button:active:hover:checked, .quick-toggle:active:hover:checked, .calendar .calendar-day.calendar-today:active:hover, .icon-button.default:active:hover, .default.login-dialog-button.a11y-button:active:hover, .default.login-dialog-button.cancel-button:active:hover, .default.login-dialog-button.switch-user-button:active:hover, .default.login-dialog-button.login-dialog-session-list-button:active:hover, .default.screenshot-ui-show-pointer-button:active:hover, .message .message-header .default.message-expand-button:active:hover,
+ .message .message-header .default.message-close-button:active:hover, .message-notification-group .default.message-collapse-button:active:hover, .calendar .calendar-month-header .default.pager-button:active:hover, .button.default:active:hover {
+ background-color: st-darken(st-darken(-st-accent-color, 9%), 4%); }
+ .keyboard-brightness-level .button:active:focus:checked, .quick-toggle:active:focus:checked, .calendar .calendar-day.calendar-today:active:focus, .icon-button.default:active:focus, .default.login-dialog-button.a11y-button:active:focus, .default.login-dialog-button.cancel-button:active:focus, .default.login-dialog-button.switch-user-button:active:focus, .default.login-dialog-button.login-dialog-session-list-button:active:focus, .default.screenshot-ui-show-pointer-button:active:focus, .message .message-header .default.message-expand-button:active:focus,
+ .message .message-header .default.message-close-button:active:focus, .message-notification-group .default.message-collapse-button:active:focus, .calendar .calendar-month-header .default.pager-button:active:focus, .button.default:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(-st-accent-color, 9%), 5%); }
+
+.popup-sub-menu .popup-menu-item, .popup-menu-item {
+ font-weight: normal;
+ spacing: 6px;
+ transition-duration: 100ms;
+ padding: 9px 12px; }
+
+#LookingGlassExtensions .lg-extension, #LookingGlassWindows .lg-window, .calendar, .datemenu-today-button, .quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ border-radius: 12px;
+ padding: 0.818em;
+ margin: 4px;
+ background-color: #ffffff;
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
+ border: 1px solid rgba(0, 0, 0, 0.09); }
+
+.quick-toggle-menu, .message, .events-button,
+.world-clocks-button,
+.weather-button {
+ color: #222226;
+ background-color: #ffffff; }
+ .quick-toggle-menu:hover, .message:hover, .events-button:hover,
+ .world-clocks-button:hover,
+ .weather-button:hover {
+ color: #222226;
+ background-color: st-darken(#ffffff, 4%); }
+ .quick-toggle-menu:active, .message:active, .events-button:active,
+ .world-clocks-button:active,
+ .weather-button:active {
+ color: #222226;
+ background-color: st-darken(#ffffff, 9%); }
+ .quick-toggle-menu:active:hover, .message:active:hover, .events-button:active:hover,
+ .world-clocks-button:active:hover,
+ .weather-button:active:hover {
+ background-color: st-darken(st-darken(#ffffff, 9%), 4%); }
+ .quick-toggle-menu:active:focus, .message:active:focus, .events-button:active:focus,
+ .world-clocks-button:active:focus,
+ .weather-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#ffffff, 9%), 5%); }
+ .quick-toggle-menu:focus, .message:focus, .events-button:focus,
+ .world-clocks-button:focus,
+ .weather-button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, #ffffff, 5%); }
+ .quick-toggle-menu:focus:hover, .message:focus:hover, .events-button:focus:hover,
+ .world-clocks-button:focus:hover,
+ .weather-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(#ffffff, 4%), 5%); }
+ .quick-toggle-menu:insensitive, .message:insensitive, .events-button:insensitive,
+ .world-clocks-button:insensitive,
+ .weather-button:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: st-lighten(#ffffff, 3%); }
+
+.calendar, .datemenu-today-button {
+ border: 1px solid transparent !important;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ background-color: transparent !important; }
+ .calendar:hover, .datemenu-today-button:hover {
+ color: #222226;
+ background-color: st-darken(#fafafb, 7%); }
+ .calendar:active, .datemenu-today-button:active {
+ color: #222226;
+ background-color: st-darken(#fafafb, 9%); }
+ .calendar:active:hover, .datemenu-today-button:active:hover {
+ background-color: st-darken(st-darken(#fafafb, 9%), 7%); }
+ .calendar:active:focus, .datemenu-today-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#fafafb, 9%), 5%); }
+ .calendar:focus, .datemenu-today-button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, #ffffff, 5%); }
+ .calendar:focus:hover, .datemenu-today-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(#ffffff, 4%), 5%); }
+ .calendar:insensitive, .datemenu-today-button:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: st-lighten(#ffffff, 3%); }
+
+.unlock-dialog .login-dialog-prompt-entry, .login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry, .lg-dialog StEntry, StEntry {
+ border-radius: 8px;
+ padding: 9px 9px;
+ selection-background-color: st-transparentize(-st-accent-color, 0.7);
+ selected-color: #222226; }
+
+StEntry {
+ background-color: #e0e0e1;
+ color: rgba(34, 34, 38, 0.7); }
+ StEntry:hover {
+ background-color: #d6d6d7;
+ color: #222226; }
+ StEntry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, #e0e0e1, 5%);
+ color: #222226; }
+ StEntry:insensitive {
+ background-color: #e8e8e9;
+ color: rgba(34, 34, 38, 0.5); }
+ StEntry StLabel.hint-text {
+ color: rgba(34, 34, 38, 0.7); }
+
+.notification-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button {
+ font-weight: bold;
+ padding: 6px 12px;
+ border-radius: 8px;
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.15); }
+ .notification-button:focus, .message .message-header .message-expand-button:focus,
+ .message .message-header .message-close-button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.15), 5%); }
+ .notification-button:focus:hover, .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .message-close-button:focus:hover {
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.3), 5%); }
+ .notification-button:hover, .message .message-header .message-expand-button:hover,
+ .message .message-header .message-close-button:hover {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.3); }
+ .notification-button:active, .message .message-header .message-expand-button:active,
+ .message .message-header .message-close-button:active {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.2); }
+ .notification-button:active:hover, .message .message-header .message-expand-button:active:hover,
+ .message .message-header .message-close-button:active:hover {
+ background-color: rgba(34, 34, 38, 0.2); }
+ .notification-button:active:focus, .message .message-header .message-expand-button:active:focus,
+ .message .message-header .message-close-button:active:focus {
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.2), 5%); }
+ .notification-button:checked, .message .message-header .message-expand-button:checked,
+ .message .message-header .message-close-button:checked {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #fafafb, 12%), 8%); }
+ .notification-button:checked:hover, .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .message-close-button:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 4%); }
+ .notification-button:checked:active, .message .message-header .message-expand-button:checked:active,
+ .message .message-header .message-close-button:checked:active {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 9%); }
+ .notification-button:insensitive, .message .message-header .message-expand-button:insensitive,
+ .message .message-header .message-close-button:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: rgba(34, 34, 38, 0.1); }
+
+.modal-dialog .modal-dialog-button-box .modal-dialog-button {
+ font-weight: bold;
+ padding: 12px;
+ border-radius: 12px;
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.1); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.1), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:focus:hover {
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.13), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:hover {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.13); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.16); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:hover {
+ background-color: rgba(34, 34, 38, 0.19); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:active:focus {
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.16), 5%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #fafafb, 12%), 8%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 4%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:checked:active {
+ background-color: st-darken(st-darken(st-mix(#222226, #fafafb, 12%), 8%), 9%); }
+ .modal-dialog .modal-dialog-button-box .modal-dialog-button:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: st-lighten(st-mix(#222226, #fafafb, 12%), 3%); }
+
+.dash-label, .window-caption, .screenshot-ui-tooltip {
+ background-color: rgba(0, 0, 0, 0.9);
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ color: #ffffff;
+ border-radius: 999px;
+ padding: 6px 12px;
+ text-align: center; }
+
+/* General Typography */
+.unlock-dialog-clock .unlock-dialog-clock-date, .app-folder-dialog .folder-name-container .folder-name-label, .app-folder-dialog .folder-name-container .folder-name-entry, .search-statustext {
+ font-weight: 800;
+ font-size: 1.818em; }
+
+.conflicting-session-dialog-content .conflicting-session-dialog-title, .message-dialog-content .message-dialog-title, .message-notification-group .message-group-header .message-group-title, .datemenu-today-button .date-label {
+ font-weight: 800;
+ font-size: 1.364em; }
+
+.login-dialog .user-widget.horizontal .user-widget-label,
+.unlock-dialog .user-widget.horizontal .user-widget-label, .quick-toggle-menu .header .title, .message-list .message-list-placeholder {
+ font-weight: 700;
+ font-size: 1.364em; }
+
+.parental-controls-shield .parental-controls-shield-button, .parental-controls-shield .parental-controls-shield-title, .login-dialog-auth-list-label, #LookingGlassDebugFlags .lg-debug-flags-header, #LookingGlassExtensions .lg-extensions-none, .word-suggestions, .bt-menu-placeholder.popup-menu-item, .restart-message, .polkit-dialog-user-layout .polkit-dialog-user-label,
+.polkit-dialog-user-layout .polkit-dialog-user-root-label, .message-dialog-content .message-dialog-title.lightweight {
+ font-weight: 700;
+ font-size: 1.182em; }
+
+.login-dialog-not-listed-label, #LookingGlassExtensions .lg-extension .lg-extension-name, #LookingGlassWindows .lg-window .lg-window-name, #LookingGlassPropertyInspector .lg-obj-inspector-title, .background-app-item .title, .quick-toggle .quick-toggle-title, .osd-window, .dialog-list .dialog-list-title, .message-list-controls, .weather-button .weather-box .weather-header-box .weather-header, .world-clocks-button .world-clocks-header, .events-button .events-box .events-list .event-box .event-summary, .events-button .events-box .events-title, .calendar .calendar-month-header .calendar-month-label {
+ font-weight: 700;
+ font-size: 1em; }
+
+.quick-toggle-menu .header .subtitle, .app-menu .popup-inactive-menu-item:first-child > StLabel {
+ font-weight: 700;
+ font-size: 0.818em; }
+
+.lg-completions-text, .caps-lock-warning-label, .background-app-item .subtitle, .quick-toggle .quick-toggle-subtitle, .screenshot-ui-type-button .icon-label-button-container, .prompt-dialog .prompt-dialog-error-label,
+.prompt-dialog .prompt-dialog-info-label,
+.prompt-dialog .prompt-dialog-null-label, .run-dialog .run-dialog-description, .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description, .message .message-header .message-header-content .event-time, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .events-button .events-box .events-list .event-box .event-time {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+.weather-button .weather-box .weather-grid .weather-forecast-time, .calendar .calendar-week-number, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-weight: 400;
+ font-size: 0.818em; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button StLabel, #LookingGlassEvaluator .evaluator-results, .lg-dialog .actor-link {
+ font-family: monospace; }
+
+.unlock-dialog-clock .unlock-dialog-clock-time, #panel, .weather-button .weather-box .weather-grid .weather-forecast-temp, .world-clocks-button .world-clocks-grid .world-clocks-timezone, .world-clocks-button .world-clocks-grid .world-clocks-time, .events-button .events-box .events-list .event-box .event-time, .calendar .calendar-day-heading, .calendar .calendar-day {
+ font-feature-settings: "tnum"; }
+
+/* OSD Elements */
+#LookingGlassDialog, .screenshot-ui-panel, .workspace-switcher, .switcher-list, .resize-popup, .osd-window {
+ color: #ffffff;
+ background-color: #2e2e33;
+ border: 1px solid rgba(255, 255, 255, 0.02);
+ border-radius: 999px;
+ padding: 12px; }
+
+.lg-dialog StEntry {
+ background-color: #47474c;
+ color: rgba(255, 255, 255, 0.7); }
+ .lg-dialog StEntry:hover {
+ background-color: #515157;
+ color: #ffffff; }
+ .lg-dialog StEntry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, #47474c, 5%);
+ color: #ffffff; }
+ .lg-dialog StEntry:insensitive {
+ background-color: #404044;
+ color: rgba(255, 255, 255, 0.5); }
+ .lg-dialog StEntry StLabel.hint-text {
+ color: rgba(255, 255, 255, 0.7); }
+
+#LookingGlassDebugFlags .lg-debug-flag-button, #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+#LookingGlassPropertyInspector .lg-obj-inspector-button, #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 12%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#ffffff, #2e2e33, 12%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:focus:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:focus:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#ffffff, #2e2e33, 12%), 4%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 12%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:active:focus, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:active:focus,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:active:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%), 5%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 12%), 8%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:hover, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:hover,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 12%), 8%), 4%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:checked:active, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:checked:active,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:checked:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 12%), 8%), 9%); }
+ #LookingGlassDebugFlags .lg-debug-flag-button:insensitive, #LookingGlassPropertyInspector .lg-obj-inspector-close-button:insensitive,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button:insensitive, #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive {
+ color: st-transparentize(#ffffff, 0.6);
+ background-color: st-darken(st-mix(#ffffff, #2e2e33, 12%), 3%); }
+
+#LookingGlassDialog .notebook-tab, .screenshot-ui-show-pointer-button, .screenshot-ui-type-button {
+ color: #ffffff;
+ background-color: #2e2e33; }
+ #LookingGlassDialog .notebook-tab:focus, .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(46, 46, 51, 0.25), 5%); }
+ #LookingGlassDialog .notebook-tab:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#2e2e33, 7%), 5%); }
+ #LookingGlassDialog .notebook-tab:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 7%); }
+ #LookingGlassDialog .notebook-tab:active, .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 9%); }
+ #LookingGlassDialog .notebook-tab:active:hover, .screenshot-ui-show-pointer-button:active:hover, .screenshot-ui-type-button:active:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 9%), 7%); }
+ #LookingGlassDialog .notebook-tab:active:focus, .screenshot-ui-show-pointer-button:active:focus, .screenshot-ui-type-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#2e2e33, 9%), 5%); }
+ #LookingGlassDialog .notebook-tab:checked, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 8%); }
+ #LookingGlassDialog .notebook-tab:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 7%); }
+ #LookingGlassDialog .notebook-tab:checked:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 9%); }
+ #LookingGlassDialog .notebook-tab:insensitive, .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive {
+ color: st-transparentize(#ffffff, 0.6);
+ background-color: #2e2e33; }
+
+/* System Elements */
+.login-dialog .login-dialog-prompt-entry, .app-folder-dialog .folder-name-container .folder-name-entry, .search-entry {
+ background-color: #47474b;
+ color: rgba(250, 250, 251, 0.7); }
+ .login-dialog .login-dialog-prompt-entry:hover, .app-folder-dialog .folder-name-container .folder-name-entry:hover, .search-entry:hover {
+ background-color: #515155;
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-entry:focus, .app-folder-dialog .folder-name-container .folder-name-entry:focus, .search-entry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, #47474b, 5%);
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-entry:insensitive, .app-folder-dialog .folder-name-container .folder-name-entry:insensitive, .search-entry:insensitive {
+ background-color: #404043;
+ color: rgba(250, 250, 251, 0.5); }
+ .login-dialog .login-dialog-prompt-entry StLabel.hint-text, .app-folder-dialog .folder-name-container .folder-name-entry StLabel.hint-text, .search-entry StLabel.hint-text {
+ color: rgba(250, 250, 251, 0.7); }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #2e2e33, 12%); }
+ .login-dialog-button.a11y-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: st-lighten(st-mix(#fafafb, #2e2e33, 12%), 3%); }
+ .login-dialog-button.a11y-button:focus, .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#fafafb, #2e2e33, 12%), 5%); }
+ .login-dialog-button.a11y-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#fafafb, #2e2e33, 12%), 4%), 5%); }
+ .login-dialog-button.a11y-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover {
+ color: #fafafb;
+ background-color: st-darken(st-mix(#fafafb, #2e2e33, 12%), 4%); }
+ .login-dialog-button.a11y-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active {
+ color: #fafafb;
+ background-color: st-darken(st-mix(#fafafb, #2e2e33, 12%), 9%); }
+ .login-dialog-button.a11y-button:active:hover, .login-dialog-button.cancel-button:active:hover, .login-dialog-button.switch-user-button:active:hover, .login-dialog-button.login-dialog-session-list-button:active:hover {
+ background-color: st-darken(st-darken(st-mix(#fafafb, #2e2e33, 12%), 9%), 4%); }
+ .login-dialog-button.a11y-button:active:focus, .login-dialog-button.cancel-button:active:focus, .login-dialog-button.switch-user-button:active:focus, .login-dialog-button.login-dialog-session-list-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#fafafb, #2e2e33, 12%), 9%), 5%); }
+ .login-dialog-button.a11y-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked {
+ color: #fafafb;
+ background-color: st-darken(st-mix(#fafafb, #2e2e33, 12%), 8%); }
+ .login-dialog-button.a11y-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#fafafb, #2e2e33, 12%), 8%), 4%); }
+ .login-dialog-button.a11y-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active {
+ background-color: st-darken(st-darken(st-mix(#fafafb, #2e2e33, 12%), 8%), 9%); }
+
+/* Lockscreen Elements */
+.unlock-dialog-notifications-container .message StButton,
+.unlock-dialog-notifications-container .unlock-dialog-notification-source StButton, .parental-controls-shield .parental-controls-shield-button, .unlock-dialog .button,
+.unlock-dialog .icon-button,
+.unlock-dialog .calendar .calendar-month-header .pager-button,
+.calendar .calendar-month-header .unlock-dialog .pager-button,
+.unlock-dialog .message-notification-group .message-collapse-button,
+.message-notification-group .unlock-dialog .message-collapse-button,
+.unlock-dialog .message .message-header .message-expand-button,
+.message .message-header .unlock-dialog .message-expand-button,
+.unlock-dialog .message .message-header .message-close-button,
+.message .message-header .unlock-dialog .message-close-button,
+.unlock-dialog .screenshot-ui-show-pointer-button,
+.unlock-dialog .login-dialog-button.a11y-button,
+.unlock-dialog .login-dialog-button.cancel-button,
+.unlock-dialog .login-dialog-button.switch-user-button,
+.unlock-dialog .login-dialog-button.login-dialog-session-list-button, .unlock-dialog .login-dialog-auth-list-item {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1); }
+ .unlock-dialog-notifications-container .message StButton:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus, .parental-controls-shield .parental-controls-shield-button:focus, .unlock-dialog .button:focus,
+ .unlock-dialog .icon-button:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus,
+ .unlock-dialog .message .message-header .message-expand-button:focus,
+ .message .message-header .unlock-dialog .message-expand-button:focus,
+ .unlock-dialog .message .message-header .message-close-button:focus,
+ .message .message-header .unlock-dialog .message-close-button:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus, .unlock-dialog .login-dialog-auth-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.1), 5%); }
+ .unlock-dialog-notifications-container .message StButton:focus:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:focus:hover, .parental-controls-shield .parental-controls-shield-button:focus:hover, .unlock-dialog .button:focus:hover,
+ .unlock-dialog .icon-button:focus:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:focus:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:focus:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:focus:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:focus:hover,
+ .unlock-dialog .message .message-header .message-expand-button:focus:hover,
+ .message .message-header .unlock-dialog .message-expand-button:focus:hover,
+ .unlock-dialog .message .message-header .message-close-button:focus:hover,
+ .message .message-header .unlock-dialog .message-close-button:focus:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:focus:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:focus:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:focus:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:focus:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:focus:hover, .unlock-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.13), 5%); }
+ .unlock-dialog-notifications-container .message StButton:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:hover, .parental-controls-shield .parental-controls-shield-button:hover, .unlock-dialog .button:hover,
+ .unlock-dialog .icon-button:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:hover,
+ .unlock-dialog .message .message-header .message-expand-button:hover,
+ .message .message-header .unlock-dialog .message-expand-button:hover,
+ .unlock-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .unlock-dialog .message-close-button:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:hover, .unlock-dialog .login-dialog-auth-list-item:hover {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.13); }
+ .unlock-dialog-notifications-container .message StButton:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active, .parental-controls-shield .parental-controls-shield-button:active, .unlock-dialog .button:active,
+ .unlock-dialog .icon-button:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:active,
+ .unlock-dialog .message .message-header .message-expand-button:active,
+ .message .message-header .unlock-dialog .message-expand-button:active,
+ .unlock-dialog .message .message-header .message-close-button:active,
+ .message .message-header .unlock-dialog .message-close-button:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active,
+ .unlock-dialog .login-dialog-button.a11y-button:active,
+ .unlock-dialog .login-dialog-button.cancel-button:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active, .unlock-dialog .login-dialog-auth-list-item:active {
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.16); }
+ .unlock-dialog-notifications-container .message StButton:active:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:hover, .parental-controls-shield .parental-controls-shield-button:active:hover, .unlock-dialog .button:active:hover,
+ .unlock-dialog .icon-button:active:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:hover,
+ .unlock-dialog .message .message-header .message-expand-button:active:hover,
+ .message .message-header .unlock-dialog .message-expand-button:active:hover,
+ .unlock-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .unlock-dialog .message-close-button:active:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:active:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:active:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .unlock-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: rgba(250, 250, 251, 0.19); }
+ .unlock-dialog-notifications-container .message StButton:active:focus,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:active:focus, .parental-controls-shield .parental-controls-shield-button:active:focus, .unlock-dialog .button:active:focus,
+ .unlock-dialog .icon-button:active:focus,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:active:focus,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:active:focus,
+ .unlock-dialog .message-notification-group .message-collapse-button:active:focus,
+ .message-notification-group .unlock-dialog .message-collapse-button:active:focus,
+ .unlock-dialog .message .message-header .message-expand-button:active:focus,
+ .message .message-header .unlock-dialog .message-expand-button:active:focus,
+ .unlock-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .unlock-dialog .message-close-button:active:focus,
+ .unlock-dialog .screenshot-ui-show-pointer-button:active:focus,
+ .unlock-dialog .login-dialog-button.a11y-button:active:focus,
+ .unlock-dialog .login-dialog-button.cancel-button:active:focus,
+ .unlock-dialog .login-dialog-button.switch-user-button:active:focus,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .unlock-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.16), 5%); }
+ .unlock-dialog-notifications-container .message StButton:checked,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked, .parental-controls-shield .parental-controls-shield-button:checked, .unlock-dialog .button:checked,
+ .unlock-dialog .icon-button:checked,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked,
+ .unlock-dialog .message .message-header .message-expand-button:checked,
+ .message .message-header .unlock-dialog .message-expand-button:checked,
+ .unlock-dialog .message .message-header .message-close-button:checked,
+ .message .message-header .unlock-dialog .message-close-button:checked,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked,
+ .unlock-dialog .login-dialog-button.a11y-button:checked,
+ .unlock-dialog .login-dialog-button.cancel-button:checked,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked, .unlock-dialog .login-dialog-auth-list-item:checked {
+ color: #fafafb;
+ background-color: st-darken(st-mix(#fafafb, #fafafb, 12%), 8%); }
+ .unlock-dialog-notifications-container .message StButton:checked:hover,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:hover, .parental-controls-shield .parental-controls-shield-button:checked:hover, .unlock-dialog .button:checked:hover,
+ .unlock-dialog .icon-button:checked:hover,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:hover,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:hover,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:hover,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:hover,
+ .unlock-dialog .message .message-header .message-expand-button:checked:hover,
+ .message .message-header .unlock-dialog .message-expand-button:checked:hover,
+ .unlock-dialog .message .message-header .message-close-button:checked:hover,
+ .message .message-header .unlock-dialog .message-close-button:checked:hover,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:hover,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:hover,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:hover,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:hover,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:hover, .unlock-dialog .login-dialog-auth-list-item:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#fafafb, #fafafb, 12%), 8%), 4%); }
+ .unlock-dialog-notifications-container .message StButton:checked:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:checked:active, .parental-controls-shield .parental-controls-shield-button:checked:active, .unlock-dialog .button:checked:active,
+ .unlock-dialog .icon-button:checked:active,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:checked:active,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:checked:active,
+ .unlock-dialog .message-notification-group .message-collapse-button:checked:active,
+ .message-notification-group .unlock-dialog .message-collapse-button:checked:active,
+ .unlock-dialog .message .message-header .message-expand-button:checked:active,
+ .message .message-header .unlock-dialog .message-expand-button:checked:active,
+ .unlock-dialog .message .message-header .message-close-button:checked:active,
+ .message .message-header .unlock-dialog .message-close-button:checked:active,
+ .unlock-dialog .screenshot-ui-show-pointer-button:checked:active,
+ .unlock-dialog .login-dialog-button.a11y-button:checked:active,
+ .unlock-dialog .login-dialog-button.cancel-button:checked:active,
+ .unlock-dialog .login-dialog-button.switch-user-button:checked:active,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:checked:active, .unlock-dialog .login-dialog-auth-list-item:checked:active {
+ background-color: st-darken(st-darken(st-mix(#fafafb, #fafafb, 12%), 8%), 9%); }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive, .parental-controls-shield .parental-controls-shield-button:insensitive, .unlock-dialog .button:insensitive,
+ .unlock-dialog .icon-button:insensitive,
+ .unlock-dialog .calendar .calendar-month-header .pager-button:insensitive,
+ .calendar .calendar-month-header .unlock-dialog .pager-button:insensitive,
+ .unlock-dialog .message-notification-group .message-collapse-button:insensitive,
+ .message-notification-group .unlock-dialog .message-collapse-button:insensitive,
+ .unlock-dialog .message .message-header .message-expand-button:insensitive,
+ .message .message-header .unlock-dialog .message-expand-button:insensitive,
+ .unlock-dialog .message .message-header .message-close-button:insensitive,
+ .message .message-header .unlock-dialog .message-close-button:insensitive,
+ .unlock-dialog .screenshot-ui-show-pointer-button:insensitive,
+ .unlock-dialog .login-dialog-button.a11y-button:insensitive,
+ .unlock-dialog .login-dialog-button.cancel-button:insensitive,
+ .unlock-dialog .login-dialog-button.switch-user-button:insensitive,
+ .unlock-dialog .login-dialog-button.login-dialog-session-list-button:insensitive, .unlock-dialog .login-dialog-auth-list-item:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: st-lighten(st-mix(#fafafb, #fafafb, 12%), 3%); }
+
+.unlock-dialog .login-dialog-prompt-entry {
+ background-color: rgba(250, 250, 251, 0.1);
+ color: rgba(250, 250, 251, 0.7); }
+ .unlock-dialog .login-dialog-prompt-entry:hover {
+ background-color: rgba(255, 255, 255, 0.1);
+ color: #fafafb; }
+ .unlock-dialog .login-dialog-prompt-entry:focus {
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(250, 250, 251, 0.4), 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.1), 5%);
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(rgba(250, 250, 251, 0.4), 0.2) !important;
+ background-color: st-mix(rgba(250, 250, 251, 0.4), rgba(250, 250, 251, 0.1), 5%); }
+ .unlock-dialog .login-dialog-prompt-entry:insensitive {
+ background-color: rgba(242, 242, 244, 0.1);
+ color: rgba(250, 250, 251, 0.5); }
+ .unlock-dialog .login-dialog-prompt-entry StLabel.hint-text {
+ color: rgba(250, 250, 251, 0.7); }
+
+/* WIDGETS */
+.shell-link {
+ color: st-darken(-st-accent-color, 10%); }
+ .shell-link:hover {
+ color: st-lighten(st-darken(-st-accent-color, 10%), 10%); }
+
+.lowres-icon {
+ icon-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
+
+.icon-dropshadow {
+ icon-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); }
+
+/* Entries */
+StEntry StIcon.capslock-warning {
+ icon-size: 1.091em;
+ warning-color: #e5a50a;
+ padding: 0 4px; }
+
+StEntry StIcon.peek-password {
+ icon-size: 1.091em;
+ padding: 0 4px; }
+
+StEntry StLabel.hint-text {
+ margin-left: 2px; }
+
+/* Buttons */
+.button {
+ min-height: 1.5em; }
+
+.icon-button, .login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button, .screenshot-ui-show-pointer-button, .message .message-header .message-expand-button,
+.message .message-header .message-close-button, .message-notification-group .message-collapse-button, .calendar .calendar-month-header .pager-button {
+ border-radius: 999px;
+ padding: 0.818em;
+ min-height: 1.091em; }
+ .icon-button StIcon, .login-dialog-button.a11y-button StIcon, .login-dialog-button.cancel-button StIcon, .login-dialog-button.switch-user-button StIcon, .login-dialog-button.login-dialog-session-list-button StIcon, .screenshot-ui-show-pointer-button StIcon, .message .message-header .message-expand-button StIcon,
+ .message .message-header .message-close-button StIcon, .message-notification-group .message-collapse-button StIcon, .calendar .calendar-month-header .pager-button StIcon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+
+/* Check Boxes */
+.check-box StBoxLayout {
+ spacing: .8em; }
+
+.check-box StBin {
+ border-radius: 7px;
+ padding: 2px; }
+
+.check-box:focus StBin {
+ background-color: rgba(0, 0, 0, 0.01);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.65); }
+
+.check-box StIcon {
+ icon-size: 14px;
+ padding: 1px;
+ color: transparent;
+ border-radius: 6px;
+ border: 2px solid rgba(0, 0, 0, 0.15); }
+
+.check-box:hover StIcon {
+ border-color: rgba(0, 0, 0, 0.2); }
+
+.check-box:active StIcon {
+ border-color: rgba(0, 0, 0, 0.3); }
+
+.check-box:checked StIcon {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-color: transparent; }
+
+.check-box:checked:hover StIcon {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.check-box:checked:active StIcon {
+ background-color: st-darken(-st-accent-color, 7%);
+ color: st-darken(-st-accent-fg-color, 7%); }
+
+/* Switches */
+.toggle-switch {
+ width: 46px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ color: #222226;
+ background: rgba(0, 0, 0, 0.15); }
+ .toggle-switch:hover {
+ background: rgba(0, 0, 0, 0.2); }
+ .toggle-switch StIcon {
+ icon-size: 16px; }
+ .toggle-switch .handle {
+ margin: 3px;
+ width: 20px;
+ height: 20px;
+ border-radius: 999px;
+ background: white;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ transition-duration: 100ms; }
+ .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+ .toggle-switch:checked .handle {
+ background: white; }
+
+/* Slider */
+.slider {
+ color: #222226;
+ -barlevel-height: 4px;
+ -barlevel-background-color: rgba(34, 34, 38, 0.1);
+ -barlevel-active-background-color: -st-accent-color;
+ -barlevel-overdrive-color: #e01b24;
+ -barlevel-overdrive-separator-width: 1px;
+ -slider-handle-radius: 0.5455em; }
+ .slider:hover {
+ color: #333339; }
+
+/* Scrollbars */
+StScrollView.vfade {
+ -st-vfade-offset: 68px; }
+
+StScrollView.hfade {
+ -st-hfade-offset: 68px; }
+
+StScrollBar {
+ padding: 0; }
+ StScrollView StScrollBar {
+ min-width: 8px;
+ min-height: 8px; }
+ StScrollBar StBin#trough {
+ border-radius: 0;
+ background-color: transparent; }
+ StScrollBar > .vhandle, StScrollBar > .hhandle {
+ border-radius: 8px;
+ background-color: #b9b9bb;
+ border: 3px solid transparent;
+ transition: 500ms all ease; }
+ StScrollBar > .vhandle:hover, StScrollBar > .hhandle:hover {
+ background-color: #8e8e91; }
+ StScrollBar > .vhandle:active, StScrollBar > .hhandle:active {
+ background-color: #a4a4a6; }
+
+/* Popovers/Menus */
+.popup-menu-boxpointer, .candidate-popup-boxpointer {
+ -arrow-rise: 6px; }
+
+.popup-menu {
+ min-width: 15em;
+ color: #222226; }
+ .popup-menu.panel-menu {
+ margin-bottom: 1.75em; }
+
+.popup-menu-content, .candidate-popup-content {
+ padding: 6px;
+ background-color: #fafafb;
+ border-radius: 20px;
+ border: 1px solid #e6e6eb;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05); }
+
+.popup-menu-item {
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none;
+ border-radius: 12px; }
+ .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-menu-item:active {
+ color: #222226;
+ background-color: st-darken(#ececf0, 9%); }
+ .popup-menu-item:active:hover {
+ background-color: st-darken(st-darken(#ececf0, 9%), 7%); }
+ .popup-menu-item:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#ececf0, 9%), 5%); }
+ .popup-menu-item:hover, .popup-menu-item:selected, .popup-menu-item:checked {
+ color: #222226;
+ background-color: st-darken(#ececf0, 7%); }
+ .popup-menu-item:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: #ececf0; }
+ .popup-menu-item:checked {
+ border-radius: 12px 12px 0 0 !important; }
+ .popup-menu-item .toggle-switch:ltr {
+ margin-left: 4px; }
+ .popup-menu-item .toggle-switch:rtl {
+ margin-right: 4px; }
+
+.popup-ornamented-menu-item:ltr {
+ padding-left: 6px; }
+
+.popup-ornamented-menu-item:rtl {
+ padding-right: 6px; }
+
+.popup-inactive-menu-item {
+ color: #222226; }
+ .popup-inactive-menu-item:insensitive {
+ color: #78787b; }
+
+.popup-menu-arrow,
+.popup-menu-icon {
+ icon-size: 1.091em; }
+
+.popup-sub-menu {
+ border-radius: 0 0 13px 13px;
+ margin-bottom: 6px;
+ border: 1px solid transparent;
+ background-color: #cacad4; }
+ .popup-sub-menu .popup-menu-item {
+ border-radius: 0;
+ border-top-width: 0;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ background-color: transparent !important; }
+ .popup-sub-menu .popup-menu-item:active {
+ color: #222226;
+ background-color: st-darken(#cacad4, 9%); }
+ .popup-sub-menu .popup-menu-item:active:hover {
+ background-color: st-darken(st-darken(#cacad4, 9%), 7%); }
+ .popup-sub-menu .popup-menu-item:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#cacad4, 9%), 5%); }
+ .popup-sub-menu .popup-menu-item:hover, .popup-sub-menu .popup-menu-item:selected, .popup-sub-menu .popup-menu-item:checked {
+ color: #222226;
+ background-color: st-darken(#cacad4, 7%); }
+ .popup-sub-menu .popup-menu-item:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: #cacad4; }
+ .popup-sub-menu .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px;
+ border-bottom-width: 0; }
+ .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:hover, .popup-sub-menu .popup-menu-section .popup-menu-item:last-child:focus {
+ border-radius: 0; }
+ .popup-sub-menu .popup-menu-section:last-child .popup-menu-item:last-child {
+ border-radius: 0 0 12px 12px; }
+
+.popup-menu-ornament {
+ icon-size: 1.091em !important;
+ width: 1.091em; }
+
+.popup-separator-menu-item {
+ border: none !important; }
+ .popup-separator-menu-item .popup-separator-menu-item-separator {
+ height: 1px;
+ background-color: rgba(34, 34, 38, 0.15); }
+ .popup-sub-menu .popup-separator-menu-item {
+ background-color: transparent; }
+ .popup-sub-menu .popup-separator-menu-item:ltr {
+ margin-right: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item:rtl {
+ margin-left: 2.5em; }
+ .popup-sub-menu .popup-separator-menu-item .popup-separator-menu-item-separator {
+ background-color: rgba(34, 34, 38, 0.15); }
+
+.background-menu {
+ -boxpointer-gap: 0px;
+ -arrow-rise: 0px; }
+
+.app-menu {
+ max-width: 27.25em; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:ltr {
+ margin-right: 8px; }
+ .app-menu .popup-inactive-menu-item:first-child > StLabel:rtl {
+ margin-left: 8px; }
+
+/* Date/Time Menu */
+#calendarArea {
+ padding: 4px; }
+
+.datemenu-popover {
+ border-radius: 30px; }
+
+.datemenu-calendar-column {
+ spacing: 6px; }
+ .datemenu-calendar-column:ltr {
+ margin-left: 6px; }
+ .datemenu-calendar-column:rtl {
+ margin-right: 6px; }
+ .datemenu-calendar-column .datemenu-displays-box {
+ spacing: 6px; }
+
+.datemenu-today-button {
+ padding: 9px; }
+ .datemenu-today-button .day-label {
+ font-weight: bold; }
+
+.calendar {
+ margin-top: 0;
+ padding: 0; }
+ .calendar .calendar-month-header .calendar-change-month-back StIcon,
+ .calendar .calendar-month-header .calendar-change-month-forward StIcon {
+ icon-size: 1.091em; }
+ .calendar .calendar-month-header .calendar-month-label {
+ color: #222226 !important;
+ padding: 8px 0;
+ width: 10em;
+ border-radius: 999px;
+ text-align: center; }
+ .calendar .calendar-month-header .pager-button {
+ height: 2.6em;
+ width: 2.6em;
+ padding: 0; }
+ .calendar .calendar-day {
+ border-radius: 999px;
+ height: 3em;
+ width: 3em;
+ margin: 2px;
+ padding: 0;
+ font-weight: bold;
+ text-align: center; }
+ .calendar .calendar-day.calendar-weekend {
+ color: #78787b; }
+ .calendar .calendar-day.calendar-other-month {
+ color: rgba(34, 34, 38, 0.5);
+ font-weight: normal; }
+ .calendar .calendar-day.calendar-other-month.calendar-weekend {
+ color: rgba(34, 34, 38, 0.5); }
+ .calendar .calendar-day.calendar-today {
+ color: -st-accent-fg-color !important; }
+ .calendar .calendar-day.calendar-today.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg") !important; }
+ .calendar .calendar-day.calendar-day-with-events {
+ background-image: url("resource:///org/gnome/shell/theme/calendar-today-light.svg");
+ background-size: contain; }
+ .calendar .calendar-day-heading {
+ font-weight: bold;
+ text-align: center;
+ margin: 4px;
+ padding: 3px 6px;
+ border-radius: 8px; }
+ .calendar .calendar-week-number {
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ text-align: center;
+ margin: 6px;
+ padding: 0 6px;
+ border-radius: 4px;
+ background-color: rgba(120, 120, 123, 0.2);
+ color: #78787b; }
+
+.events-button .events-box .events-title {
+ color: #6b6b6e;
+ padding-bottom: 6px; }
+
+.events-button .events-box .events-list {
+ spacing: 6px; }
+ .events-button .events-box .events-list .event-box {
+ spacing: 6px;
+ border-radius: 8px; }
+ .events-button .events-box .events-list .event-box .event-time {
+ color: #6b6b6e; }
+ .events-button .events-box .events-list .event-placeholder {
+ color: #6b6b6e;
+ font-style: italic; }
+
+.world-clocks-button .world-clocks-header {
+ color: #6b6b6e; }
+ .world-clocks-button .world-clocks-header.no-world-clocks {
+ color: #222226; }
+
+.world-clocks-button .world-clocks-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time {
+ font-weight: bold; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:ltr {
+ text-align: right; }
+ .world-clocks-button .world-clocks-grid .world-clocks-time:rtl {
+ text-align: left; }
+ .world-clocks-button .world-clocks-grid .world-clocks-timezone {
+ color: #6b6b6e; }
+
+.weather-button .weather-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box {
+ spacing: 6px; }
+ .weather-button .weather-box .weather-header-box .weather-header {
+ color: #6b6b6e; }
+ .weather-button .weather-box .weather-header-box .weather-header.no-location {
+ color: #222226; }
+ .weather-button .weather-box .weather-header-box .weather-header.location {
+ font-weight: normal; }
+ .weather-button .weather-box .weather-grid {
+ spacing-rows: 6px;
+ spacing-columns: 12px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-time {
+ padding-top: 6px;
+ padding-bottom: 6px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-icon {
+ icon-size: 2.182em;
+ margin-bottom: 4px; }
+ .weather-button .weather-box .weather-grid .weather-forecast-temp {
+ font-weight: bold; }
+
+/* Message List */
+.message-list {
+ width: 29em;
+ border: solid rgba(34, 34, 38, 0.15); }
+ .message-list:ltr {
+ margin-left: 0;
+ margin-right: 4px;
+ padding-right: 6px;
+ border-right-width: 1px; }
+ .message-list:rtl {
+ margin-right: 0;
+ margin-left: 4px;
+ padding-left: 6px;
+ border-left-width: 1px; }
+ .message-list .message-list-placeholder {
+ color: rgba(34, 34, 38, 0.45); }
+ .message-list .message-list-placeholder > StIcon {
+ icon-size: 96px;
+ margin-bottom: 12px;
+ -st-icon-style: symbolic; }
+
+.message-view {
+ -st-vfade-offset: 68px; }
+ .message-view:ltr {
+ margin-right: 12px; }
+ .message-view:rtl {
+ margin-left: 12px; }
+ .message-view .message {
+ margin-bottom: 12px !important;
+ border-radius: 18px; }
+
+.message-list-controls {
+ padding: 12px;
+ padding-bottom: 9px;
+ spacing: 6px; }
+ .message-list-controls .message-list-clear-button {
+ border-radius: 999px; }
+
+.message-notification-group {
+ spacing: 12px; }
+ .message-notification-group .message-group-header {
+ padding: 6px; }
+ .message-notification-group .message-group-header .message-group-title {
+ margin: 0 4px; }
+ .message-notification-group .message-collapse-button {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.2);
+ padding: 4px !important;
+ border: 4px transparent solid; }
+ .message-notification-group .message-collapse-button:hover {
+ background-color: rgba(34, 34, 38, 0.3); }
+ .message-notification-group .message-collapse-button:active {
+ background-color: rgba(34, 34, 38, 0.2); }
+
+.message {
+ padding: 6px;
+ margin: 0;
+ border-radius: 16px;
+ background-color: #ffffff; }
+ .message:second-in-stack {
+ background-color: whitesmoke;
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.03); }
+ .message:lower-in-stack {
+ background-color: #ededed;
+ box-shadow: none;
+ border-color: #e6e6e6; }
+ .message .message-header {
+ spacing: 6px;
+ color: #6b6b6e;
+ padding: 0 6px; }
+ .message .message-header:ltr {
+ padding-right: 0; }
+ .message .message-header:rtl {
+ padding-left: 0; }
+ .message .message-header .message-source-icon {
+ icon-size: 1.091em;
+ -st-icon-style: symbolic; }
+ .message .message-header .message-header-content {
+ spacing: 6px;
+ min-height: 1.637em;
+ padding-bottom: 6px; }
+ .message .message-header .message-header-content .message-source-title {
+ font-weight: bold; }
+ .message .message-header .message-header-content .event-time {
+ color: #6b6b6e;
+ padding-bottom: 0.068em; }
+ .message .message-header .message-header-content .event-time:ltr {
+ text-align: right; }
+ .message .message-header .message-header-content .event-time:rtl {
+ text-align: left; }
+ .message .message-header .message-expand-button,
+ .message .message-header .message-close-button {
+ border-radius: 999px;
+ color: #222226; }
+ .message .message-header .message-expand-button {
+ padding: 6px; }
+ .message .message-header .message-close-button {
+ margin: 3px;
+ padding: 6px; }
+ .message .message-box {
+ padding: 6px;
+ margin-top: 0;
+ spacing: 6px; }
+ .message .message-box .message-icon {
+ icon-size: 48px; }
+ .message .message-box .message-icon:ltr {
+ margin-right: 6px; }
+ .message .message-box .message-icon:rtl {
+ margin-left: 6px; }
+ .message .message-box .message-icon.message-themed-icon {
+ border-radius: 999px;
+ background-color: rgba(34, 34, 38, 0.07);
+ icon-size: 1.091em;
+ min-width: 48px;
+ min-height: 48px; }
+ .message .message-box:first-child {
+ margin-top: 12px; }
+ .message .message-box .message-content {
+ spacing: 4px; }
+ .message .message-box .message-content .message-title {
+ font-weight: bold; }
+ .message .message-action-bin {
+ padding: 4px;
+ spacing: 6px; }
+ .message .message-action-bin * {
+ margin: 0 4px; }
+ .message .message-action-bin *:first-child:ltr {
+ margin-left: 0; }
+ .message .message-action-bin *:first-child:rtl {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:ltr {
+ margin-right: 0; }
+ .message .message-action-bin *:last-child:rtl {
+ margin-left: 0; }
+
+.url-highlighter {
+ link-color: st-darken(-st-accent-color, 10%); }
+
+/* Media Controls */
+.message-media-control {
+ padding: 0 18px;
+ border-radius: 8px;
+ color: #222226;
+ border: 1px solid transparent; }
+ .message-media-control:hover {
+ background-color: #efeff2;
+ color: #222226; }
+ .message-media-control:active {
+ background-color: #e9e9ed;
+ color: #222226; }
+ .message-media-control:insensitive {
+ color: #858588; }
+ .message-media-control StIcon {
+ icon-size: 16px; }
+
+.media-message .message-icon {
+ border-radius: 8px !important; }
+ .media-message .message-icon.message-themed-icon {
+ icon-size: 32px !important; }
+
+.candidate-popup-content {
+ padding: 6px;
+ spacing: 6px;
+ border-radius: 12px; }
+
+.candidate-index {
+ padding: 0;
+ padding-right: 6px;
+ color: #78787b; }
+
+.candidate-box {
+ padding: 6px 12px 6px 12px;
+ border-radius: 8px; }
+ .candidate-box:selected {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+ .candidate-box:hover {
+ background-color: #e1e1e7;
+ color: #0c0c0e; }
+
+.candidate-page-button-box {
+ height: 2em; }
+ .vertical .candidate-page-button-box {
+ padding-top: 12px; }
+ .horizontal .candidate-page-button-box {
+ padding-left: 12px; }
+
+.candidate-page-button {
+ padding: 6px; }
+ .candidate-page-button StIcon {
+ icon-size: 16px; }
+
+.candidate-page-button-previous {
+ border-radius: 8px 0px 0px 8px;
+ border-right-width: 0;
+ box-shadow: none; }
+
+.candidate-page-button-next {
+ border-radius: 0px 8px 8px 0px;
+ box-shadow: none; }
+
+/* Notifications & Message Tray */
+.notification-banner {
+ min-height: 64px;
+ width: 34em;
+ box-shadow: 0 2px 4px 2px rgba(0, 0, 0, 0.05);
+ border-radius: 16px;
+ margin: 4px; }
+
+.notification-buttons-bin {
+ spacing: 0; }
+
+/* Modal Dialogs */
+.modal-dialog {
+ background-color: #fafafb;
+ border-radius: 18px;
+ padding: 24px;
+ spacing: 18px;
+ box-shadow: 0 12px 8px 12px rgba(0, 0, 0, 0.03); }
+ .modal-dialog .modal-dialog-content-box {
+ padding-top: 12px;
+ spacing: 18px;
+ max-width: 28em; }
+ .modal-dialog .modal-dialog-button-box {
+ padding-top: 6px; }
+
+.dialog-list {
+ spacing: 18px; }
+ .dialog-list .dialog-list-title {
+ text-align: center; }
+ .dialog-list .dialog-list-scrollview {
+ max-height: 200px; }
+ .dialog-list .dialog-list-box {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item {
+ spacing: 1em; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-title {
+ font-weight: bold; }
+ .dialog-list .dialog-list-box .dialog-list-item .dialog-list-item-description {
+ color: #161619; }
+
+/* End Session Dialog */
+.end-session-dialog {
+ width: 24em; }
+ .end-session-dialog .end-session-dialog-battery-warning,
+ .end-session-dialog .dialog-list-title {
+ color: #e5a50a;
+ background-color: rgba(229, 165, 10, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+/* Message Dialog */
+.message-dialog-content {
+ spacing: 18px; }
+ .message-dialog-content .message-dialog-title {
+ text-align: center; }
+ .message-dialog-content .message-dialog-description {
+ text-align: center; }
+
+/* Run Dialog */
+.run-dialog {
+ width: 24em;
+ padding-bottom: 6px; }
+ .run-dialog .run-dialog-entry {
+ padding: 12px 9px; }
+ .run-dialog .run-dialog-description {
+ color: black; }
+
+/* Password or Authentication Dialog */
+.prompt-dialog {
+ width: 28em; }
+ .prompt-dialog .prompt-dialog-password-grid {
+ spacing-rows: 8px;
+ spacing-columns: 4px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry {
+ width: auto; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:ltr {
+ margin-left: 20px; }
+ .prompt-dialog .prompt-dialog-password-grid .prompt-dialog-password-entry:rtl {
+ margin-right: 20px; }
+ .prompt-dialog .prompt-dialog-password-layout {
+ spacing: 8px; }
+ .prompt-dialog .prompt-dialog-password-entry {
+ width: 20em;
+ padding: 12px 9px; }
+ .prompt-dialog .prompt-dialog-error-label,
+ .prompt-dialog .prompt-dialog-info-label,
+ .prompt-dialog .prompt-dialog-null-label {
+ text-align: center;
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+ .prompt-dialog .prompt-dialog-error-label {
+ color: #e5a50a;
+ background-color: rgba(229, 165, 10, 0.1); }
+ .prompt-dialog .prompt-dialog-info-label {
+ color: #222226;
+ background-color: rgba(34, 34, 38, 0.1); }
+
+/* Polkit Dialog */
+.polkit-dialog-user-layout {
+ text-align: center;
+ spacing: 8px;
+ margin-bottom: 6px; }
+ .polkit-dialog-user-layout .polkit-dialog-user-root-label {
+ color: #e5a50a; }
+
+/* Audio selection dialog */
+.audio-device-selection-dialog {
+ min-width: 24em; }
+ .audio-device-selection-dialog .audio-selection-box {
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device {
+ color: #222226;
+ background-color: #fafafb;
+ background-color: transparent; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(250, 250, 251, 0.25), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(#fafafb, 7%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:hover {
+ color: #222226;
+ background-color: st-darken(#fafafb, 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active {
+ color: #222226;
+ background-color: st-darken(#fafafb, 9%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:hover {
+ background-color: st-darken(st-darken(#fafafb, 9%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(#fafafb, 9%), 5%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked {
+ color: #222226;
+ background-color: st-darken(#fafafb, 8%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:hover, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:hover {
+ background-color: st-darken(st-darken(#fafafb, 8%), 7%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:highlighted:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:selected:active, .audio-device-selection-dialog .audio-selection-box .audio-selection-device:checked:active {
+ background-color: st-darken(st-darken(#fafafb, 8%), 9%); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:insensitive {
+ color: st-transparentize(#222226, 0.6);
+ background-color: #fafafb; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-box {
+ padding: 12px;
+ spacing: 12px; }
+ .audio-device-selection-dialog .audio-selection-box .audio-selection-device .audio-selection-device-icon {
+ icon-size: 64px; }
+
+/* Welcome dialog */
+.welcome-dialog-image {
+ background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
+ background-size: contain;
+ /* Reasonable maximum dimensions */
+ height: 300px;
+ width: 300px; }
+
+/* Access portal dialog */
+.access-dialog {
+ text-align: center; }
+
+/* OSD */
+.osd-window {
+ text-align: center;
+ font-weight: bold;
+ spacing: 12px;
+ padding: 12px 18px;
+ margin-bottom: 4em; }
+ .osd-window > * {
+ spacing: 8px; }
+ .osd-window StIcon {
+ icon-size: 32px; }
+ .osd-window StLabel:ltr {
+ margin-right: 6px; }
+ .osd-window StLabel:rtl {
+ margin-left: 6px; }
+ .osd-window .level {
+ margin-bottom: 4px;
+ min-width: 160px;
+ -barlevel-height: 6px;
+ -barlevel-background-color: rgba(255, 255, 255, 0.3);
+ -barlevel-active-background-color: #ffffff;
+ -barlevel-overdrive-color: #e01b24;
+ -barlevel-overdrive-separator-width: 3px; }
+ .osd-window .level:first-child {
+ margin-bottom: 0; }
+ .osd-window .level:ltr {
+ margin-right: 6px; }
+ .osd-window .level:rtl {
+ margin-left: 6px; }
+
+.osd-monitor-label, .osd-break-countdown-label {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color;
+ border-radius: 16px;
+ font-size: 3em;
+ font-weight: bold;
+ font-feature-settings: "tnum";
+ margin: 12px;
+ padding: 12px;
+ text-align: center;
+ min-width: 1.5em; }
+
+/* Pad OSD */
+.pad-osd-window {
+ padding: 32px;
+ background-color: rgba(0, 0, 0, 0.8); }
+ .pad-osd-window .pad-osd-title-box {
+ spacing: 12px; }
+ .pad-osd-window .pad-osd-title-menu-box {
+ spacing: 6px; }
+
+.combo-box-label {
+ width: 15em; }
+
+/* App Switcher */
+.switcher-popup {
+ padding: 0;
+ spacing: 24px; }
+
+.switcher-list {
+ padding: 12px;
+ border-radius: 28px;
+ box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.05); }
+ .switcher-list .switcher-list-item-container {
+ spacing: 12px; }
+ .switcher-list .item-box {
+ color: #ffffff;
+ background-color: #2e2e33;
+ background-color: transparent; }
+ .switcher-list .item-box:focus {
+ color: #ffffff;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(46, 46, 51, 0.25), 5%); }
+ .switcher-list .item-box:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#2e2e33, 7%), 5%); }
+ .switcher-list .item-box:hover {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 7%); }
+ .switcher-list .item-box:active {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 9%); }
+ .switcher-list .item-box:active:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 9%), 7%); }
+ .switcher-list .item-box:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#2e2e33, 9%), 5%); }
+ .switcher-list .item-box:highlighted, .switcher-list .item-box:selected, .switcher-list .item-box:checked {
+ color: #ffffff;
+ background-color: st-lighten(#2e2e33, 8%); }
+ .switcher-list .item-box:highlighted:hover, .switcher-list .item-box:selected:hover, .switcher-list .item-box:checked:hover {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 7%); }
+ .switcher-list .item-box:highlighted:active, .switcher-list .item-box:selected:active, .switcher-list .item-box:checked:active {
+ background-color: st-lighten(st-lighten(#2e2e33, 8%), 9%); }
+ .switcher-list .item-box:insensitive {
+ color: st-transparentize(#ffffff, 0.6);
+ background-color: #2e2e33; }
+ .switcher-list .item-box:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .switcher-list .item-box:hover {
+ background: none; }
+ .switcher-list .item-box:selected {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .switcher-list .separator {
+ width: 1px;
+ background: rgba(34, 34, 38, 0.15); }
+ .switcher-list .thumbnail-box {
+ padding: 2px;
+ spacing: 6px; }
+ .switcher-list .thumbnail {
+ width: 256px;
+ border-radius: 8px; }
+
+.switcher-arrow {
+ border-color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.8); }
+ .switcher-arrow:highlighted {
+ border-color: #ffffff;
+ color: #ffffff; }
+
+.input-source-switcher-symbol {
+ font-size: 34pt;
+ width: 96px;
+ height: 96px; }
+
+.cycler-highlight {
+ border: 5px solid -st-accent-color; }
+
+/* Workspace Switcher */
+.workspace-switcher {
+ margin-bottom: 4em;
+ spacing: 12px;
+ padding: 12px 18px; }
+
+.ws-switcher-indicator {
+ background-color: rgba(255, 255, 255, 0.5);
+ padding: 2.6666666667px;
+ margin: 13.3333333333px;
+ border-radius: 32px; }
+ .ws-switcher-indicator:active {
+ background-color: #ffffff;
+ padding: 5.3333333333px;
+ margin: 10.6666666667px; }
+
+.screenshot-ui-panel {
+ border-radius: 32px;
+ padding: 18px;
+ padding-bottom: 12px;
+ margin-bottom: 4em;
+ spacing: 12px; }
+
+.screenshot-ui-close-button {
+ padding: 6px !important;
+ margin-top: 12px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05); }
+ .screenshot-ui-close-button.left {
+ margin-left: 12px; }
+ .screenshot-ui-close-button.right {
+ margin-right: 12px; }
+
+.screenshot-ui-type-button {
+ min-width: 48px;
+ padding: 12px 18px;
+ border-radius: 14px; }
+ .screenshot-ui-type-button .icon-label-button-container {
+ spacing: 0.409em; }
+ .screenshot-ui-type-button .icon-label-button-container > StIcon {
+ icon-size: 32px; }
+
+.screenshot-ui-capture-button {
+ width: 32px;
+ height: 32px;
+ border-radius: 999px;
+ border: 4px #ffffff;
+ padding: 4px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle {
+ background-color: #ffffff;
+ transition-duration: 200ms;
+ border-radius: 999px; }
+ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus {
+ background-color: #e1e1e7; }
+ .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle {
+ background-color: #cccccc; }
+ .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle {
+ background-color: gray; }
+ .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle {
+ background-color: #c01c28; }
+ .screenshot-ui-capture-button:cast:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:cast:focus .screenshot-ui-capture-button-circle {
+ background-color: #d61f2d; }
+ .screenshot-ui-capture-button:cast:active .screenshot-ui-capture-button-circle {
+ background-color: #a11722; }
+
+.screenshot-ui-shot-cast-container {
+ background-color: rgba(255, 255, 255, 0.1);
+ border-radius: 999px;
+ padding: 3px;
+ spacing: 3px; }
+
+.screenshot-ui-shot-cast-button {
+ padding: 6px 12px;
+ background-color: transparent;
+ border-radius: 999px; }
+ .screenshot-ui-shot-cast-button > StIcon {
+ icon-size: 16px; }
+ .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus {
+ background-color: rgba(255, 255, 255, 0.2); }
+ .screenshot-ui-shot-cast-button:active {
+ background-color: rgba(255, 255, 255, 0.5); }
+ .screenshot-ui-shot-cast-button:checked {
+ background-color: #ffffff;
+ color: #2e2e33; }
+ .screenshot-ui-shot-cast-button:insensitive {
+ color: rgba(255, 255, 255, 0.5); }
+
+.screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.3); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-shade {
+ background-color: rgba(0, 0, 0, 0.5); }
+
+.screenshot-ui-area-selector .screenshot-ui-area-indicator-selection {
+ border: 2px white; }
+
+.screenshot-ui-area-selector-handle {
+ border-radius: 999px;
+ background-color: white;
+ box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.05);
+ width: 24px;
+ height: 24px; }
+
+.screenshot-ui-window-selector {
+ background-color: #222226; }
+ .screenshot-ui-window-selector .screenshot-ui-window-selector-window-container {
+ margin: 100px; }
+ .screenshot-ui-window-selector:primary-monitor .screenshot-ui-window-selector-window-container {
+ margin-bottom: 200px; }
+
+.screenshot-ui-window-selector-window-border {
+ transition-duration: 200ms;
+ border-radius: 16px;
+ border: 6px transparent; }
+
+.screenshot-ui-window-selector-check {
+ transition-duration: 200ms;
+ color: transparent;
+ border-radius: 999px;
+ border-width: 12px;
+ icon-size: 24px; }
+
+.screenshot-ui-window-selector-window:hover .screenshot-ui-window-selector-window-border {
+ border-color: st-darken(-st-accent-color, 15%); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-window-border {
+ border-color: -st-accent-color;
+ background-color: st-transparentize(-st-accent-color, 0.8); }
+
+.screenshot-ui-window-selector-window:checked .screenshot-ui-window-selector-check {
+ color: -st-accent-fg-color;
+ background-color: -st-accent-color; }
+
+.screenshot-ui-screen-selector {
+ transition-duration: 200ms;
+ background-color: rgba(0, 0, 0, 0.5); }
+ .screenshot-ui-screen-selector:hover {
+ background-color: rgba(0, 0, 0, 0.3); }
+ .screenshot-ui-screen-selector:active {
+ background-color: rgba(0, 0, 0, 0.7); }
+ .screenshot-ui-screen-selector:checked {
+ background-color: transparent;
+ border: 2px white; }
+
+.screenshot-ui-tooltip {
+ text-align: center;
+ -y-offset: 24px; }
+
+/* Top Bar */
+#panel {
+ background-color: #fafafb;
+ font-weight: bold;
+ height: 2.2em;
+ transition-duration: 250ms;
+ box-shadow: inset 0 -0.5px 0 0 rgba(34, 34, 38, 0.1); }
+ #panel .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #222226;
+ box-shadow: inset 0 0 0 100px transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 6px; }
+ #panel .panel-button:focus, #panel .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.17); }
+ #panel .panel-button:active, #panel .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.28); }
+ #panel .panel-button:active:hover, #panel .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.32); }
+ #panel .panel-button .system-status-icon {
+ icon-size: 1.091em;
+ padding: 0 6px;
+ margin: 0 4px; }
+ #panel .panel-button .panel-status-indicators-box {
+ spacing: 4px; }
+ #panel .panel-button .panel-status-indicators-box > .system-status-icon {
+ padding: 0; }
+ #panel .panel-button#panelActivities StBoxLayout {
+ padding: 0 0.2045em;
+ spacing: 5px; }
+ #panel .panel-button#panelActivities .workspace-dot {
+ border-radius: 999px;
+ min-width: 0.5455em;
+ min-height: 0.5455em;
+ background-color: #222226; }
+ #panel .panel-button.screen-recording-indicator StBoxLayout, #panel .panel-button.screen-sharing-indicator StBoxLayout {
+ spacing: 0.409em; }
+ #panel .panel-button.screen-recording-indicator StIcon, #panel .panel-button.screen-sharing-indicator StIcon {
+ icon-size: 1.091em; }
+ #panel .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel .panel-button.screen-recording-indicator:focus, #panel .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #aa1923; }
+ #panel .panel-button.screen-recording-indicator:active, #panel .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #981620; }
+ #panel .panel-button.screen-recording-indicator:active:hover, #panel .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #8f151e; }
+ #panel .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #e66100; }
+ #panel .panel-button.screen-sharing-indicator:focus, #panel .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #cd5600; }
+ #panel .panel-button.screen-sharing-indicator:active, #panel .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #b84e00; }
+ #panel .panel-button.screen-sharing-indicator:active:hover, #panel .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ae4900; }
+ #panel .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #222226;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel .panel-button.clock-display:focus, #panel .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.17); }
+ #panel .panel-button.clock-display:active, #panel .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.28); }
+ #panel .panel-button.clock-display:active:hover, #panel .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.32); }
+ #panel .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel .panel-button.clock-display:focus .clock, #panel .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.17); }
+ #panel .panel-button.clock-display:active .clock, #panel .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.28); }
+ #panel .panel-button.clock-display:active .clock:hover, #panel .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.32); }
+ #panel .panel-button.clock-display .messages-indicator {
+ icon-size: 1.091em; }
+ #panel:overview, #panel.unlock-screen, #panel.login-screen {
+ background-color: transparent; }
+ #panel:overview .panel-button.screen-recording-indicator, #panel.unlock-screen .panel-button.screen-recording-indicator, #panel.login-screen .panel-button.screen-recording-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #c01c28; }
+ #panel:overview .panel-button.screen-recording-indicator:focus, #panel:overview .panel-button.screen-recording-indicator:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:focus, #panel.unlock-screen .panel-button.screen-recording-indicator:hover, #panel.login-screen .panel-button.screen-recording-indicator:focus, #panel.login-screen .panel-button.screen-recording-indicator:hover {
+ box-shadow: inset 0 0 0 100px #aa1923; }
+ #panel:overview .panel-button.screen-recording-indicator:active, #panel:overview .panel-button.screen-recording-indicator:checked, #panel.unlock-screen .panel-button.screen-recording-indicator:active, #panel.unlock-screen .panel-button.screen-recording-indicator:checked, #panel.login-screen .panel-button.screen-recording-indicator:active, #panel.login-screen .panel-button.screen-recording-indicator:checked {
+ box-shadow: inset 0 0 0 100px #981620; }
+ #panel:overview .panel-button.screen-recording-indicator:active:hover, #panel:overview .panel-button.screen-recording-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:active:hover, #panel.unlock-screen .panel-button.screen-recording-indicator:checked:hover, #panel.login-screen .panel-button.screen-recording-indicator:active:hover, #panel.login-screen .panel-button.screen-recording-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #8f151e; }
+ #panel:overview .panel-button.screen-sharing-indicator, #panel.unlock-screen .panel-button.screen-sharing-indicator, #panel.login-screen .panel-button.screen-sharing-indicator {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px #e66100; }
+ #panel:overview .panel-button.screen-sharing-indicator:focus, #panel:overview .panel-button.screen-sharing-indicator:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:focus, #panel.unlock-screen .panel-button.screen-sharing-indicator:hover, #panel.login-screen .panel-button.screen-sharing-indicator:focus, #panel.login-screen .panel-button.screen-sharing-indicator:hover {
+ box-shadow: inset 0 0 0 100px #cd5600; }
+ #panel:overview .panel-button.screen-sharing-indicator:active, #panel:overview .panel-button.screen-sharing-indicator:checked, #panel.unlock-screen .panel-button.screen-sharing-indicator:active, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked, #panel.login-screen .panel-button.screen-sharing-indicator:active, #panel.login-screen .panel-button.screen-sharing-indicator:checked {
+ box-shadow: inset 0 0 0 100px #b84e00; }
+ #panel:overview .panel-button.screen-sharing-indicator:active:hover, #panel:overview .panel-button.screen-sharing-indicator:checked:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:active:hover, #panel.unlock-screen .panel-button.screen-sharing-indicator:checked:hover, #panel.login-screen .panel-button.screen-sharing-indicator:active:hover, #panel.login-screen .panel-button.screen-sharing-indicator:checked:hover {
+ box-shadow: inset 0 0 0 100px #ae4900; }
+ #panel.unlock-screen .panel-button, #panel.login-screen .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel.unlock-screen .panel-button:focus, #panel.unlock-screen .panel-button:hover, #panel.login-screen .panel-button:focus, #panel.login-screen .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button:active, #panel.unlock-screen .panel-button:checked, #panel.login-screen .panel-button:active, #panel.login-screen .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button:active:hover, #panel.unlock-screen .panel-button:checked:hover, #panel.login-screen .panel-button:active:hover, #panel.login-screen .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display, #panel.login-screen .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #ffffff;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel.unlock-screen .panel-button.clock-display:focus, #panel.unlock-screen .panel-button.clock-display:hover, #panel.login-screen .panel-button.clock-display:focus, #panel.login-screen .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active, #panel.unlock-screen .panel-button.clock-display:checked, #panel.login-screen .panel-button.clock-display:active, #panel.login-screen .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active:hover, #panel.unlock-screen .panel-button.clock-display:checked:hover, #panel.login-screen .panel-button.clock-display:active:hover, #panel.login-screen .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel.unlock-screen .panel-button.clock-display .clock, #panel.login-screen .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel.unlock-screen .panel-button.clock-display:focus .clock, #panel.unlock-screen .panel-button.clock-display:hover .clock, #panel.login-screen .panel-button.clock-display:focus .clock, #panel.login-screen .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock, #panel.unlock-screen .panel-button.clock-display:checked .clock, #panel.login-screen .panel-button.clock-display:active .clock, #panel.login-screen .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28); }
+ #panel.unlock-screen .panel-button.clock-display:active .clock:hover, #panel.unlock-screen .panel-button.clock-display:checked .clock:hover, #panel.login-screen .panel-button.clock-display:active .clock:hover, #panel.login-screen .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32); }
+ #panel:overview .panel-button {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px transparent; }
+ #panel:overview .panel-button:focus, #panel:overview .panel-button:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button:active, #panel:overview .panel-button:checked {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button:active:hover, #panel:overview .panel-button:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel:overview .panel-button#panelActivities .workspace-dot {
+ background-color: #fafafb; }
+ #panel:overview .panel-button.clock-display {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ background-color: transparent;
+ border-radius: 999px;
+ font-weight: bold;
+ color: #fafafb;
+ box-shadow: inset 0 0 0 100px transparent;
+ background: none !important;
+ box-shadow: none !important;
+ border: none !important; }
+ #panel:overview .panel-button.clock-display:focus, #panel:overview .panel-button.clock-display:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button.clock-display:active, #panel:overview .panel-button.clock-display:checked {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button.clock-display:active:hover, #panel:overview .panel-button.clock-display:checked:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel:overview .panel-button.clock-display .clock {
+ transition-duration: 150ms;
+ border: 3px solid transparent;
+ border-radius: 999px; }
+ #panel:overview .panel-button.clock-display:focus .clock, #panel:overview .panel-button.clock-display:hover .clock {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.17); }
+ #panel:overview .panel-button.clock-display:active .clock, #panel:overview .panel-button.clock-display:checked .clock {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.28); }
+ #panel:overview .panel-button.clock-display:active .clock:hover, #panel:overview .panel-button.clock-display:checked .clock:hover {
+ box-shadow: inset 0 0 0 100px rgba(250, 250, 251, 0.32); }
+ #panel .panel-status-indicators-box {
+ spacing: 2px; }
+ #panel .power-status.panel-status-indicators-box {
+ spacing: 0; }
+ #panel .privacy-indicator {
+ color: #e66100; }
+
+.clock-display-box {
+ spacing: 2px; }
+ .clock-display-box .clock {
+ padding-left: 0.818em;
+ padding-right: 0.818em; }
+
+/* Activities Ripple */
+.ripple-box {
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: 0 0 2px 2px rgba(255, 255, 255, 0.2);
+ width: 52px;
+ height: 52px;
+ border-radius: 0 0 52px 0; }
+ .ripple-box:rtl {
+ border-radius: 0 0 0 52px; }
+
+.quick-settings {
+ padding: 18px;
+ border-radius: 36px; }
+ .quick-settings .icon-button, .quick-settings .login-dialog-button.a11y-button, .quick-settings .login-dialog-button.cancel-button, .quick-settings .login-dialog-button.switch-user-button, .quick-settings .login-dialog-button.login-dialog-session-list-button, .quick-settings .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-settings .pager-button, .quick-settings .message-notification-group .message-collapse-button, .message-notification-group .quick-settings .message-collapse-button, .quick-settings .message .message-header .message-expand-button, .message .message-header .quick-settings .message-expand-button,
+ .quick-settings .message .message-header .message-close-button,
+ .message .message-header .quick-settings .message-close-button, .quick-settings .screenshot-ui-show-pointer-button, .quick-settings .button {
+ padding: 10.5px; }
+
+.quick-settings-grid {
+ spacing-rows: 12px;
+ spacing-columns: 12px; }
+
+.quick-toggle, .quick-toggle-has-menu {
+ border-radius: 999px;
+ min-width: 12em;
+ max-width: 12em;
+ min-height: 3.273em; }
+
+.quick-toggle {
+ /* Move padding into the box; this is to allow menu arrows
+ to extend to the border */ }
+ .quick-toggle > StBoxLayout {
+ spacing: 9px; }
+ .quick-toggle.button {
+ padding: 0; }
+ .quick-toggle > StBoxLayout {
+ padding: 0 12px; }
+ .quick-toggle:ltr > StBoxLayout {
+ padding-left: 15px; }
+ .quick-toggle:rtl > StBoxLayout {
+ padding-right: 15px; }
+ .quick-toggle .quick-toggle-subtitle {
+ font-weight: normal; }
+ .quick-toggle .quick-toggle-icon {
+ icon-size: 1.091em; }
+
+.quick-toggle-has-menu .quick-toggle {
+ min-width: auto;
+ max-width: auto; }
+ .quick-toggle-has-menu .quick-toggle:ltr {
+ border-radius: 999px 0 0 999px; }
+ .quick-toggle-has-menu .quick-toggle:ltr > StBoxLayout {
+ padding-right: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:rtl {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle:rtl > StBoxLayout {
+ padding-left: 0.6135em; }
+ .quick-toggle-has-menu .quick-toggle:ltr:last-child {
+ border-radius: 999px; }
+ .quick-toggle-has-menu .quick-toggle:rtl:last-child {
+ border-radius: 999px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ padding: 0.409em 0.71575em; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:ltr {
+ border-radius: 0 999px 999px 0; }
+ .quick-toggle-has-menu .quick-toggle-menu-button:rtl {
+ border-radius: 999px 0 0 999px; }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ width: 1px; }
+
+.quick-toggle-has-menu .quick-toggle-menu-button {
+ color: #222226;
+ background-color: st-mix(#222226, #ececf0, 12%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#222226, #ececf0, 12%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #ececf0, 12%), 4%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:hover {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #ececf0, 12%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active {
+ color: #222226;
+ background-color: st-darken(st-mix(#222226, #ececf0, 12%), 9%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:hover {
+ background-color: st-darken(st-darken(st-mix(#222226, #ececf0, 12%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #ececf0, 12%), 9%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked {
+ color: -st-accent-fg-color;
+ background-color: st-mix(-st-accent-color, #222226, 92%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus {
+ color: -st-accent-fg-color;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ box-shadow: inset 0 0 0 2px st-transparentize(st-darken(-st-accent-color, 20%), 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(-st-accent-color, #222226, 92%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(-st-accent-color, #222226, 92%), 4%), 5%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:hover {
+ color: -st-accent-fg-color;
+ background-color: st-darken(st-mix(-st-accent-color, #222226, 92%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active {
+ color: -st-accent-fg-color;
+ background-color: st-darken(st-mix(-st-accent-color, #222226, 92%), 9%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:hover {
+ background-color: st-darken(st-darken(st-mix(-st-accent-color, #222226, 92%), 9%), 4%); }
+ .quick-toggle-has-menu .quick-toggle-menu-button:checked:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(-st-accent-color, #222226, 92%), 9%), 5%); }
+
+.quick-toggle-has-menu:checked .quick-toggle-separator {
+ background-color: st-mix(-st-accent-fg-color, -st-accent-color, 20%); }
+
+.quick-toggle-has-menu .quick-toggle-separator {
+ background-color: rgba(34, 34, 38, 0.25); }
+
+.quick-slider > StBoxLayout {
+ spacing: 6px; }
+
+.quick-slider .icon-button, .quick-slider .login-dialog-button.a11y-button, .quick-slider .login-dialog-button.cancel-button, .quick-slider .login-dialog-button.switch-user-button, .quick-slider .login-dialog-button.login-dialog-session-list-button, .quick-slider .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .quick-slider .pager-button, .quick-slider .message-notification-group .message-collapse-button, .message-notification-group .quick-slider .message-collapse-button, .quick-slider .message .message-header .message-expand-button, .message .message-header .quick-slider .message-expand-button,
+.quick-slider .message .message-header .message-close-button,
+.message .message-header .quick-slider .message-close-button, .quick-slider .screenshot-ui-show-pointer-button {
+ padding: 6px; }
+
+.quick-slider .slider-bin {
+ padding: 6px;
+ border-radius: 999px; }
+ .quick-slider .slider-bin:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#222226, #fafafb, 12%), 5%); }
+ .quick-slider .slider-bin:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #fafafb, 12%), 4%), 5%); }
+
+.quick-toggle-menu {
+ border-radius: 24px;
++ margin: 12px 0 0; }
+ .quick-toggle-menu:insensitive {
+ color: #222226;
+ background-color: st-mix(#222226, #fafafb, 12%); }
+ .quick-toggle-menu .popup-menu-item > StIcon {
+ -st-icon-style: symbolic;
+ icon-size: 1.091em; }
+ .quick-toggle-menu .header {
+ spacing-rows: 3px;
+ spacing-columns: 12px;
+ padding-bottom: 12px; }
+ .quick-toggle-menu .header .icon {
+ icon-size: 1.6365em;
+ border-radius: 999px;
+ padding: 9px;
+ background-color: rgba(34, 34, 38, 0.2); }
+ .quick-toggle-menu .header .icon.active {
+ background-color: -st-accent-color;
+ color: -st-accent-fg-color; }
+
+.quick-settings-system-item > StBoxLayout {
+ spacing: 12px; }
+
+.quick-settings-system-item .power-item {
+ min-height: 0;
+ min-width: 0; }
+ .quick-settings-system-item .power-item:insensitive {
+ color: #222226;
+ background-color: st-mix(#222226, #fafafb, 12%);
+ background-color: transparent; }
+
+.nm-network-item .wireless-secure-icon {
+ icon-size: 0.5455em; }
+
+.bt-device-item .popup-menu-icon {
+ -st-icon-style: symbolic; }
+
+.bt-menu-placeholder.popup-menu-item {
+ text-align: center;
+ padding: 2em 4em; }
+
+.device-subtitle {
+ color: rgba(34, 34, 38, 0.5); }
+
+.keyboard-brightness-level {
+ spacing: 6px; }
+
+.background-apps-quick-toggle {
+ min-height: 2.728em;
+ background-color: transparent; }
+ .background-apps-quick-toggle StIcon {
+ icon-size: 1.091em !important; }
+
+.background-app-item .popup-menu-icon {
+ icon-size: 32px !important;
+ -st-icon-style: regular !important; }
+
+.background-app-item .icon-button, .background-app-item .login-dialog-button.a11y-button, .background-app-item .login-dialog-button.cancel-button, .background-app-item .login-dialog-button.switch-user-button, .background-app-item .login-dialog-button.login-dialog-session-list-button, .background-app-item .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .background-app-item .pager-button, .background-app-item .message-notification-group .message-collapse-button, .message-notification-group .background-app-item .message-collapse-button, .background-app-item .message .message-header .message-expand-button, .message .message-header .background-app-item .message-expand-button,
+.background-app-item .message .message-header .message-close-button,
+.message .message-header .background-app-item .message-close-button, .background-app-item .screenshot-ui-show-pointer-button {
+ padding: 6px;
+ background-color: rgba(34, 34, 38, 0.13); }
+ .background-app-item .icon-button:hover, .background-app-item .login-dialog-button.a11y-button:hover, .background-app-item .login-dialog-button.cancel-button:hover, .background-app-item .login-dialog-button.switch-user-button:hover, .background-app-item .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .background-app-item .pager-button:hover, .background-app-item .message-notification-group .message-collapse-button:hover, .message-notification-group .background-app-item .message-collapse-button:hover, .background-app-item .message .message-header .message-expand-button:hover, .message .message-header .background-app-item .message-expand-button:hover,
+ .background-app-item .message .message-header .message-close-button:hover,
+ .message .message-header .background-app-item .message-close-button:hover, .background-app-item .screenshot-ui-show-pointer-button:hover {
+ background-color: rgba(34, 34, 38, 0.22); }
+ .background-app-item .icon-button:active, .background-app-item .login-dialog-button.a11y-button:active, .background-app-item .login-dialog-button.cancel-button:active, .background-app-item .login-dialog-button.switch-user-button:active, .background-app-item .login-dialog-button.login-dialog-session-list-button:active, .background-app-item .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .background-app-item .pager-button:active, .background-app-item .message-notification-group .message-collapse-button:active, .message-notification-group .background-app-item .message-collapse-button:active, .background-app-item .message .message-header .message-expand-button:active, .message .message-header .background-app-item .message-expand-button:active,
+ .background-app-item .message .message-header .message-close-button:active,
+ .message .message-header .background-app-item .message-close-button:active, .background-app-item .screenshot-ui-show-pointer-button:active {
+ background-color: rgba(34, 34, 38, 0.31); }
+
+.background-app-item .spinner {
+ padding: 6px; }
+
+.background-app-item.popup-inactive-menu-item {
+ color: #222226; }
+
+/* OVERVIEW */
+.secondary-monitor-workspaces {
+ spacing: 12px; }
+
+#overviewGroup {
+ background-color: #222226; }
+
+/* Window Picker */
+.window-picker {
+ spacing: 6px; }
+
+.window-close, .screenshot-ui-close-button {
+ background-color: rgba(63, 63, 70, 0.98);
+ color: #fafafb;
+ border-radius: 999px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05);
+ padding: 3px;
+ height: 32px;
+ width: 32px;
+ transition-duration: 100ms;
+ border: 2px solid transparent; }
+ .window-close StIcon, .screenshot-ui-close-button StIcon {
+ icon-size: 24px; }
+ .window-close:hover, .screenshot-ui-close-button:hover {
+ background-color: rgba(80, 80, 89, 0.98); }
+ .window-close:active, .screenshot-ui-close-button:active {
+ background-color: rgba(94, 94, 105, 0.98); }
+
+.workspace-background {
+ border-radius: 30px;
+ background-color: rgba(3, 2, 1, 0);
+ box-shadow: 0 4px 16px 4px rgba(0, 0, 0, 0.05); }
+
+.search-entry {
+ border-radius: 999px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ width: 24em; }
+ .search-entry .search-entry-icon {
+ icon-size: 1.091em;
+ margin-top: 2px;
+ padding: 0 4px; }
+
+/* Search */
+#searchResults {
+ margin: 0 4px; }
+
+#searchResultsContent {
+ max-width: 1044px; }
+
+.search-section {
+ spacing: 18px; }
+ .search-section .search-section-separator {
+ height: 8px;
+ background-color: transparent; }
+
+.search-section-content {
+ background-color: #38383b;
+ color: #fafafb;
+ border-radius: 24px;
+ padding: 12px;
+ margin: 0 12px;
+ border: 2px solid transparent; }
+
+.list-search-result, .search-provider-icon {
+ color: #fafafb;
+ background-color: #38383b;
+ background-color: transparent;
+ border-radius: 13.2px; }
+ .list-search-result:focus, .search-provider-icon:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(56, 56, 59, 0.25), 5%); }
+ .list-search-result:focus:hover, .search-provider-icon:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 7%), 5%); }
+ .list-search-result:hover, .search-provider-icon:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .list-search-result:active, .search-provider-icon:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .list-search-result:active:hover, .search-provider-icon:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .list-search-result:active:focus, .search-provider-icon:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 9%), 5%); }
+ .list-search-result:highlighted, .search-provider-icon:highlighted, .list-search-result:selected, .search-provider-icon:selected, .list-search-result:checked, .search-provider-icon:checked {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ .list-search-result:highlighted:hover, .search-provider-icon:highlighted:hover, .list-search-result:selected:hover, .search-provider-icon:selected:hover, .list-search-result:checked:hover, .search-provider-icon:checked:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ .list-search-result:highlighted:active, .search-provider-icon:highlighted:active, .list-search-result:selected:active, .search-provider-icon:selected:active, .list-search-result:checked:active, .search-provider-icon:checked:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ .list-search-result:insensitive, .search-provider-icon:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: #38383b; }
+ .list-search-result:drop, .search-provider-icon:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.search-statusbox {
+ spacing: 24px; }
+
+.search-statustext {
+ color: rgba(250, 250, 251, 0.8); }
+
+.grid-search-results {
+ spacing: 30px; }
+
+.search-provider-icon:ltr {
+ margin-right: 4px; }
+
+.search-provider-icon:rtl {
+ margin-left: 4px; }
+
+.search-provider-icon .list-search-provider-content {
+ spacing: 12px; }
+ .search-provider-icon .list-search-provider-content .list-search-provider-details {
+ width: 120px;
+ color: #fafafb; }
+
+.list-search-results {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-content {
+ spacing: 6px; }
+
+.list-search-result .list-search-result-title {
+ spacing: 12px; }
+
+.list-search-result .list-search-result-description {
+ color: #afafb1; }
+
+/* Dash */
+#dash {
+ padding-left: 6px;
+ padding-right: 6px; }
+ #dash .dash-background {
+ background-color: #38383b;
+ border-radius: 28px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+ padding-left: 10px;
+ padding-right: 10px; }
+ #dash .dash-item-container .placeholder {
+ background-image: none;
+ background-size: contain;
+ height: 32px; }
+ #dash .dash-item-container .empty-dash-drop-target {
+ width: 32px;
+ height: 32px; }
+ #dash .dash-item-container .show-apps,
+ #dash .dash-item-container .overview-tile,
+ #dash .dash-item-container .grid-search-result {
+ margin: 0 2px;
+ padding-bottom: 12px; }
+ #dash .dash-item-container .show-apps .overview-icon,
+ #dash .dash-item-container .overview-tile .overview-icon,
+ #dash .dash-item-container .grid-search-result .overview-icon {
+ color: #fafafb;
+ background-color: #38383b; }
+ #dash .dash-item-container .show-apps:focus .overview-icon,
+ #dash .dash-item-container .overview-tile:focus .overview-icon,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(56, 56, 59, 0.25), 5%); }
+ #dash .dash-item-container .show-apps:focus .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:focus .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:focus .overview-icon:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 7%), 5%); }
+ #dash .dash-item-container .show-apps:hover .overview-icon,
+ #dash .dash-item-container .overview-tile:hover .overview-icon,
+ #dash .dash-item-container .grid-search-result:hover .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ #dash .dash-item-container .show-apps:active .overview-icon,
+ #dash .dash-item-container .overview-tile:active .overview-icon,
+ #dash .dash-item-container .grid-search-result:active .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:active .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ #dash .dash-item-container .show-apps:active .overview-icon:focus,
+ #dash .dash-item-container .overview-tile:active .overview-icon:focus,
+ #dash .dash-item-container .grid-search-result:active .overview-icon:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 9%), 5%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon,
+ #dash .dash-item-container .overview-tile:checked .overview-icon,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:hover,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:hover,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ #dash .dash-item-container .show-apps:checked .overview-icon:active,
+ #dash .dash-item-container .overview-tile:checked .overview-icon:active,
+ #dash .dash-item-container .grid-search-result:checked .overview-icon:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ #dash .dash-item-container .app-grid-running-dot {
+ offset-y: -12px; }
+ #dash .dash-separator {
+ width: 1px;
+ margin-left: 4px;
+ margin-right: 4px;
+ background-color: rgba(250, 250, 251, 0.1); }
+ #dash .dash-separator,
+ #dash .dash-background {
+ margin-bottom: 12px; }
+
+.dash-label {
+ -y-offset: 8px; }
+
+/* App Grid */
+.icon-grid {
+ row-spacing: 12px;
+ column-spacing: 12px;
+ max-row-spacing: 36px;
+ max-column-spacing: 36px;
+ page-padding-top: 24px;
+ page-padding-bottom: 24px;
+ page-padding-left: 18px;
+ page-padding-right: 18px; }
+
+/* App Icons */
+.overview-tile, .grid-search-result {
+ color: #fafafb;
+ background-color: #222226;
+ background-color: transparent;
+ border-radius: 24px;
+ padding: 12px; }
+ .overview-tile:focus, .grid-search-result:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.25), 5%); }
+ .overview-tile:focus:hover, .grid-search-result:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#222226, 7%), 5%); }
+ .overview-tile:hover, .grid-search-result:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .overview-tile:active, .grid-search-result:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .overview-tile:active:hover, .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .overview-tile:active:focus, .grid-search-result:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#222226, 9%), 5%); }
+ .overview-tile:highlighted, .grid-search-result:highlighted, .overview-tile:selected, .grid-search-result:selected, .overview-tile:checked, .grid-search-result:checked {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 8%); }
+ .overview-tile:highlighted:hover, .grid-search-result:highlighted:hover, .overview-tile:selected:hover, .grid-search-result:selected:hover, .overview-tile:checked:hover, .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#222226, 8%), 7%); }
+ .overview-tile:highlighted:active, .grid-search-result:highlighted:active, .overview-tile:selected:active, .grid-search-result:selected:active, .overview-tile:checked:active, .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#222226, 8%), 9%); }
+ .overview-tile:insensitive, .grid-search-result:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: #222226; }
+ .overview-tile:drop, .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+ .overview-tile .overview-icon.overview-icon-with-label > StBoxLayout, .grid-search-result .overview-icon.overview-icon-with-label > StBoxLayout {
+ spacing: 6px; }
+
+.app-folder {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 12%); }
+ .app-folder:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#fafafb, #222226, 12%), 5%); }
+ .app-folder:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 4%), 5%); }
+ .app-folder:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 4%); }
+ .app-folder:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 9%); }
+ .app-folder:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 4%); }
+ .app-folder:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 5%); }
+ .app-folder:highlighted, .app-folder:selected, .app-folder:checked {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 8%); }
+ .app-folder:highlighted:hover, .app-folder:selected:hover, .app-folder:checked:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 8%), 4%); }
+ .app-folder:highlighted:active, .app-folder:selected:active, .app-folder:checked:active {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 8%), 9%); }
+ .app-folder:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: st-darken(st-mix(#fafafb, #222226, 12%), 3%); }
+ .app-folder:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.app-grid-running-dot {
+ height: 5px;
+ width: 5px;
+ border-radius: 5px;
+ background-color: #fafafb;
+ offset-y: 6px; }
+
+.app-folder-dialog-container {
+ padding-top: 2.2em; }
+
+.app-folder-dialog {
+ width: 720px;
+ height: 720px;
+ border-radius: 64px;
+ background-color: #38383b;
+ color: #fafafb;
+ padding: 0 1px;
+ box-shadow: inset 0 0 0 1px rgba(250, 250, 251, 0.1); }
+ .app-folder-dialog .folder-name-container {
+ padding: 24px 36px;
+ padding-bottom: 0; }
+ .app-folder-dialog .folder-name-container .folder-name-entry {
+ width: 12em; }
+ .app-folder-dialog .icon-button, .app-folder-dialog .login-dialog-button.a11y-button, .app-folder-dialog .login-dialog-button.cancel-button, .app-folder-dialog .login-dialog-button.switch-user-button, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button, .app-folder-dialog .calendar .calendar-month-header .pager-button, .calendar .calendar-month-header .app-folder-dialog .pager-button, .app-folder-dialog .message-notification-group .message-collapse-button, .message-notification-group .app-folder-dialog .message-collapse-button, .app-folder-dialog .message .message-header .message-expand-button, .message .message-header .app-folder-dialog .message-expand-button,
+ .app-folder-dialog .message .message-header .message-close-button,
+ .message .message-header .app-folder-dialog .message-close-button, .app-folder-dialog .screenshot-ui-show-pointer-button {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #38383b, 12%); }
+ .app-folder-dialog .icon-button:hover, .app-folder-dialog .login-dialog-button.a11y-button:hover, .app-folder-dialog .login-dialog-button.cancel-button:hover, .app-folder-dialog .login-dialog-button.switch-user-button:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:hover, .app-folder-dialog .message-notification-group .message-collapse-button:hover, .message-notification-group .app-folder-dialog .message-collapse-button:hover, .app-folder-dialog .message .message-header .message-expand-button:hover, .message .message-header .app-folder-dialog .message-expand-button:hover,
+ .app-folder-dialog .message .message-header .message-close-button:hover,
+ .message .message-header .app-folder-dialog .message-close-button:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #38383b, 12%), 4%); }
+ .app-folder-dialog .icon-button:active, .app-folder-dialog .login-dialog-button.a11y-button:active, .app-folder-dialog .login-dialog-button.cancel-button:active, .app-folder-dialog .login-dialog-button.switch-user-button:active, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active, .app-folder-dialog .calendar .calendar-month-header .pager-button:active, .calendar .calendar-month-header .app-folder-dialog .pager-button:active, .app-folder-dialog .message-notification-group .message-collapse-button:active, .message-notification-group .app-folder-dialog .message-collapse-button:active, .app-folder-dialog .message .message-header .message-expand-button:active, .message .message-header .app-folder-dialog .message-expand-button:active,
+ .app-folder-dialog .message .message-header .message-close-button:active,
+ .message .message-header .app-folder-dialog .message-close-button:active, .app-folder-dialog .screenshot-ui-show-pointer-button:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #38383b, 12%), 9%); }
+ .app-folder-dialog .icon-button:active:hover, .app-folder-dialog .login-dialog-button.a11y-button:active:hover, .app-folder-dialog .login-dialog-button.cancel-button:active:hover, .app-folder-dialog .login-dialog-button.switch-user-button:active:hover, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:hover, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:hover, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:hover, .app-folder-dialog .message-notification-group .message-collapse-button:active:hover, .message-notification-group .app-folder-dialog .message-collapse-button:active:hover, .app-folder-dialog .message .message-header .message-expand-button:active:hover, .message .message-header .app-folder-dialog .message-expand-button:active:hover,
+ .app-folder-dialog .message .message-header .message-close-button:active:hover,
+ .message .message-header .app-folder-dialog .message-close-button:active:hover, .app-folder-dialog .screenshot-ui-show-pointer-button:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #38383b, 12%), 9%), 4%); }
+ .app-folder-dialog .icon-button:active:focus, .app-folder-dialog .login-dialog-button.a11y-button:active:focus, .app-folder-dialog .login-dialog-button.cancel-button:active:focus, .app-folder-dialog .login-dialog-button.switch-user-button:active:focus, .app-folder-dialog .login-dialog-button.login-dialog-session-list-button:active:focus, .app-folder-dialog .calendar .calendar-month-header .pager-button:active:focus, .calendar .calendar-month-header .app-folder-dialog .pager-button:active:focus, .app-folder-dialog .message-notification-group .message-collapse-button:active:focus, .message-notification-group .app-folder-dialog .message-collapse-button:active:focus, .app-folder-dialog .message .message-header .message-expand-button:active:focus, .message .message-header .app-folder-dialog .message-expand-button:active:focus,
+ .app-folder-dialog .message .message-header .message-close-button:active:focus,
+ .message .message-header .app-folder-dialog .message-close-button:active:focus, .app-folder-dialog .screenshot-ui-show-pointer-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #38383b, 12%), 9%), 5%); }
+ .app-folder-dialog .page-indicators {
+ margin-bottom: 24px; }
+ .app-folder-dialog .page-navigation-arrow {
+ color: #fafafb;
+ background-color: #38383b; }
+ .app-folder-dialog .page-navigation-arrow:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .app-folder-dialog .page-navigation-arrow:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .app-folder-dialog .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .app-folder-dialog .page-navigation-arrow:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 9%), 5%); }
+ .app-folder-dialog .overview-tile, .app-folder-dialog .grid-search-result {
+ color: #fafafb;
+ background-color: #38383b;
+ background-color: transparent; }
+ .app-folder-dialog .overview-tile:focus, .app-folder-dialog .grid-search-result:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(56, 56, 59, 0.25), 5%); }
+ .app-folder-dialog .overview-tile:focus:hover, .app-folder-dialog .grid-search-result:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 7%), 5%); }
+ .app-folder-dialog .overview-tile:hover, .app-folder-dialog .grid-search-result:hover {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 7%); }
+ .app-folder-dialog .overview-tile:active, .app-folder-dialog .grid-search-result:active {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 9%); }
+ .app-folder-dialog .overview-tile:active:hover, .app-folder-dialog .grid-search-result:active:hover {
+ background-color: st-lighten(st-lighten(#38383b, 9%), 7%); }
+ .app-folder-dialog .overview-tile:active:focus, .app-folder-dialog .grid-search-result:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#38383b, 9%), 5%); }
+ .app-folder-dialog .overview-tile:highlighted, .app-folder-dialog .grid-search-result:highlighted, .app-folder-dialog .overview-tile:selected, .app-folder-dialog .grid-search-result:selected, .app-folder-dialog .overview-tile:checked, .app-folder-dialog .grid-search-result:checked {
+ color: #fafafb;
+ background-color: st-lighten(#38383b, 8%); }
+ .app-folder-dialog .overview-tile:highlighted:hover, .app-folder-dialog .grid-search-result:highlighted:hover, .app-folder-dialog .overview-tile:selected:hover, .app-folder-dialog .grid-search-result:selected:hover, .app-folder-dialog .overview-tile:checked:hover, .app-folder-dialog .grid-search-result:checked:hover {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 7%); }
+ .app-folder-dialog .overview-tile:highlighted:active, .app-folder-dialog .grid-search-result:highlighted:active, .app-folder-dialog .overview-tile:selected:active, .app-folder-dialog .grid-search-result:selected:active, .app-folder-dialog .overview-tile:checked:active, .app-folder-dialog .grid-search-result:checked:active {
+ background-color: st-lighten(st-lighten(#38383b, 8%), 9%); }
+ .app-folder-dialog .overview-tile:insensitive, .app-folder-dialog .grid-search-result:insensitive {
+ color: st-transparentize(#fafafb, 0.6);
+ background-color: #38383b; }
+ .app-folder-dialog .overview-tile:drop, .app-folder-dialog .grid-search-result:drop {
+ background-color: st-transparentize(-st-accent-color, 0.8);
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2); }
+
+.rename-folder-popup .rename-folder-popup-item {
+ spacing: 6px; }
+ .rename-folder-popup .rename-folder-popup-item:ltr, .rename-folder-popup .rename-folder-popup-item:rtl {
+ padding: 0 12px; }
+
+.page-indicator {
+ padding: 6px 12px 0;
+ transition-duration: 400ms; }
+ .page-indicator .page-indicator-icon {
+ width: 10px;
+ height: 10px;
+ border-radius: 999px;
+ background-color: #fafafb;
+ transition-duration: 400ms; }
+
+.apps-scroll-view {
+ padding: 0; }
+
+.system-action-icon {
+ background-color: rgba(250, 250, 251, 0.1);
+ color: #fafafb;
+ border-radius: 999px;
+ icon-size: 48px; }
+
+.page-navigation-hint.dnd {
+ background: rgba(255, 255, 255, 0.1); }
+
+.page-navigation-hint.next:ltr, .page-navigation-hint.previous:rtl {
+ background-gradient-start: rgba(255, 255, 255, 0.05);
+ background-gradient-end: transparent;
+ background-gradient-direction: horizontal;
+ border-radius: 24px 0px 0px 24px; }
+
+.page-navigation-hint.previous:ltr, .page-navigation-hint.next:rtl {
+ background-gradient-start: transparent;
+ background-gradient-end: rgba(255, 255, 255, 0.05);
+ background-gradient-direction: horizontal;
+ border-radius: 0px 24px 24px 0px; }
+
+.page-navigation-arrow {
+ margin: 6px;
+ padding: 18px;
+ width: 24px;
+ height: 24px;
+ border-radius: 999px;
+ transition-duration: 100ms;
+ color: #fafafb;
+ background-color: #222226; }
+ .page-navigation-arrow > StIcon {
+ color: #fafafb; }
+ .page-navigation-arrow:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .page-navigation-arrow:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .page-navigation-arrow:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .page-navigation-arrow:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#222226, 9%), 5%); }
+
+/* Workspace pager */
+.workspace-thumbnails {
+ visible-width: 32px;
+ spacing: 6px;
+ padding: 6px; }
+ .workspace-thumbnails .workspace-thumbnail {
+ color: #fafafb;
+ background-color: #46464e;
+ border-radius: 4px;
+ border: 1px solid transparent; }
+ .workspace-thumbnails .placeholder {
+ background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
+ background-size: contain;
+ width: 18px; }
+
+.workspace-thumbnail-indicator {
+ border: 3px solid -st-accent-color;
+ border-radius: 8px; }
+
+.ripple-pointer-location {
+ width: 50px;
+ height: 50px;
+ border-radius: 25px;
+ background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 30%);
+ box-shadow: 0 0 2px 2px st-lighten(-st-accent-color, 20%); }
+
+.pie-timer {
+ width: 60px;
+ height: 60px;
+ -pie-border-width: 3px;
+ -pie-border-color: -st-accent-color;
+ -pie-background-color: st-lighten(st-transparentize(-st-accent-color, 0.7), 40%); }
+
+.magnifier-zoom-region {
+ border: 2px solid -st-accent-color; }
+ .magnifier-zoom-region.full-screen {
+ border-width: 0; }
+
+.select-area-rubberband {
+ background-color: st-transparentize(-st-accent-color, 0.7);
+ border: 1px solid -st-accent-color; }
+
+.user-icon {
+ background-size: contain;
+ border-radius: 999px;
+ icon-size: 64px;
+ background-color: rgba(34, 34, 38, 0.05);
+ color: #222226; }
+ .user-icon StIcon {
+ padding: 12px; }
+ .user-icon.user-avatar {
+ box-shadow: inset 0 0 0 1px rgba(34, 34, 38, 0.1); }
+
+.lightbox {
+ background-color: black; }
+
+.flashspot {
+ background-color: white; }
+
+.hidden {
+ color: transparent; }
+
+.caps-lock-warning-label {
+ text-align: center;
+ padding-bottom: 8px;
+ color: #e5a50a; }
+
+/* Workspace animation */
+.workspace-animation {
+ background-color: #2e2e33; }
+
+/* Tiled window previews */
+.tile-preview {
+ background-color: st-transparentize(-st-accent-color, 0.5);
+ border: 1px solid -st-accent-color; }
+
+/* On-screen Keyboard */
+#keyboard {
+ background-color: #2e2e33;
+ box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.02); }
+ #keyboard .page-indicator {
+ padding: 6px; }
+ #keyboard .page-indicator .page-indicator-icon {
+ width: 8px;
+ height: 8px; }
+
+.key-container {
+ padding: 4px;
+ spacing: 4px; }
+
+.keyboard-key {
+ font-size: 1.455em;
+ font-weight: bold;
+ border-radius: 0.546em;
+ box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #4d4d4d, 12%); }
+ .keyboard-key:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#222226, #fafafb, 12%), 5%); }
+ .keyboard-key:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #fafafb, 12%), 4%), 5%); }
+ .keyboard-key:hover {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 4%); }
+ .keyboard-key:active {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%); }
+ .keyboard-key:active:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%), 4%); }
+ .keyboard-key:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%), 5%); }
+ .keyboard-key:checked {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%); }
+ .keyboard-key:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%), 4%); }
+ .keyboard-key:checked:active {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%), 9%); }
+ .keyboard-key.default-key {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #303030, 12%);
+ border: none; }
+ .keyboard-key.default-key:hover {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #303030, 12%), 4%); }
+ .keyboard-key.default-key:active {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #303030, 12%), 9%); }
+ .keyboard-key.default-key:active:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #303030, 12%), 9%), 4%); }
+ .keyboard-key.default-key:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#ffffff, #303030, 12%), 9%), 5%); }
+ .keyboard-key.default-key:checked {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #303030, 12%), 8%); }
+ .keyboard-key.default-key:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #303030, 12%), 8%), 4%); }
+ .keyboard-key.default-key:checked:active {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #303030, 12%), 8%), 9%); }
+ .keyboard-key.default-key:latched {
+ background-color: -st-accent-color; }
+ .keyboard-key StIcon {
+ icon-size: 1.6365em; }
+
+.keyboard-subkeys-boxpointer {
+ -arrow-border-radius: 22px;
+ -arrow-background-color: #2e2e33;
+ -arrow-border-width: 1px;
+ -arrow-border-color: #44444c;
+ -arrow-base: 20px;
+ -arrow-rise: 10px;
+ -boxpointer-gap: 4px;
+ border-radius: 22px;
+ box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1); }
+ .keyboard-subkeys-boxpointer .key-container {
+ padding: 12px;
+ spacing: 8px; }
+
+.emoji-page .keyboard-key {
+ background-color: transparent;
+ border: none;
+ color: initial; }
+
+.emoji-panel .keyboard-key:latched {
+ border-color: st-lighten(-st-accent-color, 5%);
+ background-color: -st-accent-color; }
+
+.word-suggestions {
+ spacing: 12px;
+ min-height: 17pt;
+ padding: 12px;
+ color: #ffffff; }
+ .word-suggestions StButton {
+ margin: 0 3px;
+ min-width: 32px;
+ border-radius: 4px;
+ padding: 6px 18px;
+ background-color: transparent;
+ border-color: transparent;
+ box-shadow: none; }
+ .word-suggestions StButton:insensitive {
+ background-color: transparent !important; }
+ .word-suggestions StButton:focus {
+ color: #222226;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#222226, #fafafb, 12%), 5%); }
+ .word-suggestions StButton:focus:hover {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#222226, #fafafb, 12%), 4%), 5%); }
+ .word-suggestions StButton:hover {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 4%); }
+ .word-suggestions StButton:active {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%); }
+ .word-suggestions StButton:active:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%), 4%); }
+ .word-suggestions StButton:active:focus {
+ background-color: st-mix(-st-accent-color, st-darken(st-mix(#ffffff, #4d4d4d, 12%), 9%), 5%); }
+ .word-suggestions StButton:checked {
+ color: #ffffff;
+ background-color: st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%); }
+ .word-suggestions StButton:checked:hover {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%), 4%); }
+ .word-suggestions StButton:checked:active {
+ background-color: st-darken(st-darken(st-mix(#ffffff, #4d4d4d, 12%), 8%), 9%); }
+
+/* Looking Glass */
+.lg-dialog StEntry {
+ min-height: 1.5em; }
+
+.lg-dialog .shell-link {
+ color: st-lighten(-st-accent-color, 20%); }
+ .lg-dialog .shell-link:hover {
+ color: st-lighten(st-lighten(-st-accent-color, 20%), 10%); }
+ .lg-dialog .shell-link:active {
+ color: st-darken(st-lighten(-st-accent-color, 20%), 10%); }
+
+.lg-dialog .actor-link {
+ color: st-darken(#ffffff, 20%); }
+ .lg-dialog .actor-link:hover {
+ color: #ffffff; }
+ .lg-dialog .actor-link:active {
+ color: st-lighten(#ffffff, 20%); }
+ .lg-dialog .actor-link StIcon {
+ icon-size: 12px; }
+
+.lg-completions-text {
+ font-style: italic; }
+
+#LookingGlassDialog {
+ background-color: rgba(46, 46, 51, 0.98);
+ color: #ffffff;
+ border-radius: 16px;
+ margin-top: 4px;
+ border: 2px solid transparent;
+ padding: 6px;
+ spacing: 6px;
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.05); }
+ #LookingGlassDialog > #Toolbar {
+ border: none;
+ padding: 6px;
+ border-radius: 0;
+ background-color: transparent;
+ spacing: 6px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button {
+ padding: 6px 12px; }
+ #LookingGlassDialog > #Toolbar .lg-toolbar-button > StIcon {
+ icon-size: 16px; }
+ #LookingGlassDialog .labels {
+ spacing: 6px; }
+ #LookingGlassDialog .notebook-tab {
+ background-color: transparent;
+ -natural-hpadding: 12px;
+ -minimum-hpadding: 12px;
+ padding: 6px 12px; }
+ #LookingGlassDialog .notebook-tab:selected {
+ color: #ffffff;
+ background-color: st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%); }
+ #LookingGlassDialog .notebook-tab:selected:hover {
+ background-color: st-lighten(st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%), 4%); }
+ #LookingGlassDialog .notebook-tab:selected:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#ffffff, #2e2e33, 12%), 9%), 5%); }
+
+#LookingGlassPropertyInspector {
+ background-color: #2e2e33;
+ color: #ffffff;
+ border-radius: 16px;
+ border: 1px solid rgba(255, 255, 255, 0.1);
+ padding: 12px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-title {
+ spacing: 4px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button,
+ #LookingGlassPropertyInspector .lg-obj-inspector-button {
+ padding: 6px 12px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button {
+ margin: 4px;
+ padding: 6px;
+ border-radius: 999px; }
+ #LookingGlassPropertyInspector .lg-obj-inspector-close-button > StIcon {
+ icon-size: 16px; }
+
+#LookingGlassEvaluator {
+ padding: 6px; }
+ #LookingGlassEvaluator .evaluator-results {
+ spacing: 6px; }
+
+#LookingGlassWindows {
+ padding: 6px;
+ spacing: 6px; }
+ #LookingGlassWindows .lg-window {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 12%);
+ margin: 0;
+ padding: 12px; }
+
+#LookingGlassExtensions .lg-extensions-list {
+ padding: 6px;
+ spacing: 6px; }
+
+#LookingGlassExtensions .lg-extension {
+ color: #ffffff;
+ background-color: st-mix(#ffffff, #2e2e33, 12%);
+ margin: 0;
+ spacing: 4px;
+ padding: 12px; }
+ #LookingGlassExtensions .lg-extension .lg-extension-name {
+ color: #ffffff !important; }
+ #LookingGlassExtensions .lg-extension .lg-extension-meta {
+ spacing: 12px; }
+
+#LookingGlassExtensions .lg-extensions-none {
+ color: rgba(255, 255, 255, 0.5); }
+
+#LookingGlassActors {
+ padding: 6px;
+ spacing: 4px; }
+
+#LookingGlassDebugFlags .lg-debug-flags-header {
+ padding: 6px;
+ padding-top: 12px; }
+
+#LookingGlassDebugFlags .lg-debug-flag-button {
+ padding: 9px 12px;
+ margin-bottom: 6px; }
+ #LookingGlassDebugFlags .lg-debug-flag-button StLabel {
+ font-weight: normal !important; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch {
+ background: rgba(255, 255, 255, 0.15); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:hover {
+ background: rgba(255, 255, 255, 0.2); }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked {
+ background: -st-accent-color;
+ color: -st-accent-fg-color; }
+ #LookingGlassDebugFlags .lg-debug-flag-button .toggle-switch:checked:hover {
+ background-color: st-lighten(-st-accent-color, 5%);
+ color: st-lighten(-st-accent-fg-color, 5%); }
+
+.login-dialog,
+.unlock-dialog {
+ color: #fafafb; }
+ .login-dialog .caps-lock-warning-label,
+ .login-dialog .login-dialog-message-warning,
+ .unlock-dialog .caps-lock-warning-label,
+ .unlock-dialog .login-dialog-message-warning {
+ color: #fafafb; }
+ .login-dialog .login-dialog-prompt-layout,
+ .unlock-dialog .login-dialog-prompt-layout {
+ width: 25em;
+ spacing: 9px; }
+
+.login-dialog-bottom-button-group {
+ padding: 32px;
+ spacing: 16px; }
+
+.login-dialog-button.a11y-button, .login-dialog-button.cancel-button, .login-dialog-button.switch-user-button, .login-dialog-button.login-dialog-session-list-button {
+ padding: 1.091em; }
+
+.login-dialog-button.cancel-button {
+ padding: 9px; }
+
+.login-dialog-button-box {
+ spacing: 12px; }
+
+.conflicting-session-dialog-content {
+ spacing: 20px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-title {
+ text-align: center;
+ margin-bottom: 5px; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc {
+ text-align: center; }
+ .conflicting-session-dialog-content .conflicting-session-dialog-desc-warning {
+ text-align: center;
+ color: #e5a50a;
+ background-color: rgba(229, 165, 10, 0.1);
+ padding: 9px;
+ border-radius: 8px;
+ margin: 4px 0; }
+
+.login-dialog-logo-bin {
+ margin: 3em 0; }
+
+.login-dialog-banner-view {
+ max-width: 25em; }
+ .login-dialog-banner-view .login-dialog-banner {
+ color: #dedee4; }
+
+.login-dialog-message {
+ text-align: center; }
+
+.login-dialog-message-hint, .login-dialog-message {
+ color: #dedee4;
+ min-height: 2.75em; }
+
+.login-dialog-user-selection-box {
+ padding-top: 4em;
+ padding-bottom: 8em; }
+
+.login-dialog-not-listed-label {
+ padding: 6px; }
+
+.login-dialog-not-listed-button {
+ color: #fafafb;
+ background-color: #222226;
+ padding: 0 6px;
+ margin: 6px; }
+ .login-dialog-not-listed-button:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, rgba(34, 34, 38, 0.25), 5%); }
+ .login-dialog-not-listed-button:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(#222226, 7%), 5%); }
+ .login-dialog-not-listed-button:hover {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 7%); }
+ .login-dialog-not-listed-button:active {
+ color: #fafafb;
+ background-color: st-lighten(#222226, 9%); }
+ .login-dialog-not-listed-button:active:hover {
+ background-color: st-lighten(st-lighten(#222226, 9%), 7%); }
+ .login-dialog-not-listed-button:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(#222226, 9%), 5%); }
+
+.login-dialog-auth-list-view {
+ -st-vfade-offset: 3em; }
+
+.login-dialog-auth-list {
+ spacing: 6px;
+ margin-left: 2em; }
+
+.login-dialog-auth-list-title {
+ margin-left: 2em;
+ padding-bottom: 6px; }
+
+.login-dialog .login-dialog-auth-list-item {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 12%);
+ border-radius: 9.6px;
+ padding: 7.2px; }
+ .login-dialog .login-dialog-auth-list-item:selected, .login-dialog .login-dialog-auth-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#fafafb, #222226, 12%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:selected:hover, .login-dialog .login-dialog-auth-list-item:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 4%), 5%); }
+ .login-dialog .login-dialog-auth-list-item:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 4%); }
+ .login-dialog .login-dialog-auth-list-item:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 9%); }
+ .login-dialog .login-dialog-auth-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 4%); }
+ .login-dialog .login-dialog-auth-list-item:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 5%); }
+
+.unlock-dialog .login-dialog-auth-list-item {
+ border-radius: 9.6px;
+ padding: 7.2px; }
+
+.login-dialog-auth-list-label:ltr {
+ padding-left: 15px;
+ text-align: left; }
+
+.login-dialog-auth-list-label:rtl {
+ padding-right: 15px;
+ text-align: right; }
+
+.login-dialog-user-list-view {
+ width: 25em;
+ -st-vfade-offset: 3em; }
+ .login-dialog-user-list-view .login-dialog-user-list {
+ margin: 0 8px;
+ spacing: 12px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item {
+ color: #fafafb;
+ background-color: st-mix(#fafafb, #222226, 12%);
+ border-radius: 16px;
+ padding: 9px; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus {
+ color: #fafafb;
+ box-shadow: inset 0 0 0 2px st-transparentize(-st-accent-color, 0.2) !important;
+ background-color: st-mix(-st-accent-color, st-mix(#fafafb, #222226, 12%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:selected:hover, .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:focus:hover {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 4%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:hover {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 4%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active {
+ color: #fafafb;
+ background-color: st-lighten(st-mix(#fafafb, #222226, 12%), 9%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:hover {
+ background-color: st-lighten(st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 4%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:active:focus {
+ background-color: st-mix(-st-accent-color, st-lighten(st-mix(#fafafb, #222226, 12%), 9%), 5%); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .user-icon {
+ border: 2px solid transparent; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item .login-dialog-timed-login-indicator {
+ height: 2px;
+ margin-top: 6px;
+ background-color: rgba(250, 250, 251, 0.7); }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon {
+ border-color: -st-accent-color; }
+ .login-dialog-user-list-view .login-dialog-user-list .login-dialog-user-list-item:logged-in .user-icon StIcon {
+ background-color: st-transparentize(-st-accent-color, 0.7); }
+
+.unlock-dialog {
+ background-color: transparent; }
+
+.screen-shield-background {
+ background: black;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.6); }
+
+#lockDialogGroup {
+ background-color: #222226; }
+
+.unlock-dialog-clock {
+ color: #fafafb;
+ spacing: 2em; }
+ .unlock-dialog-clock .unlock-dialog-clock-time {
+ font-size: 6.546em;
+ font-weight: 800; }
+ .unlock-dialog-clock .unlock-dialog-clock-date {
+ font-weight: 400; }
+ .unlock-dialog-clock .unlock-dialog-clock-hint {
+ margin-top: 2em;
+ padding: 6px 18px;
+ border-radius: 16px;
+ font-weight: bold; }
+
+.parental-controls-shield {
+ spacing: 0.75em; }
+ .parental-controls-shield .parental-controls-shield-title {
+ margin-top: 0.6em;
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-description {
+ text-align: center; }
+ .parental-controls-shield .parental-controls-shield-button {
+ margin-top: 0.85em;
+ padding: 16px 44px;
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1);
+ border-radius: 999px; }
+
+#unlockDialogNotifications > .vhandle, #unlockDialogNotifications > .hhandle {
+ background-color: rgba(250, 250, 251, 0.3); }
+ #unlockDialogNotifications > .vhandle:hover, #unlockDialogNotifications > .vhandle:focus, #unlockDialogNotifications > .hhandle:hover, #unlockDialogNotifications > .hhandle:focus {
+ background-color: rgba(250, 250, 251, 0.5); }
+ #unlockDialogNotifications > .vhandle:active, #unlockDialogNotifications > .hhandle:active {
+ background-color: st-transparentize(-st-accent-color, 0.5); }
+
+.unlock-dialog-notifications-container {
+ margin: 12px;
+ spacing: 6px;
+ width: 25em;
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .summary-notification-stack-scrollview {
+ padding-top: 0;
+ padding-bottom: 0; }
+ .unlock-dialog-notifications-container .message,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source {
+ padding: 12px 16px;
+ border: none;
+ background-color: rgba(250, 250, 251, 0.1);
+ color: #fafafb;
+ border-radius: 16px; }
+ .unlock-dialog-notifications-container .message.critical,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source.critical {
+ background-color: rgba(250, 250, 251, 0.2); }
+ .unlock-dialog-notifications-container .message:active,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source:active {
+ background-color: rgba(250, 250, 251, 0.1); }
+ .unlock-dialog-notifications-container .message StButton,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton {
+ background-color: transparent; }
+ .unlock-dialog-notifications-container .message StButton:insensitive,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source StButton:insensitive {
+ background-color: transparent;
+ opacity: 0.5; }
+ .unlock-dialog-notifications-container .message .message-header,
+ .unlock-dialog-notifications-container .unlock-dialog-notification-source .message-header {
+ color: #fafafb; }
+
+.unlock-dialog-notification-icon {
+ icon-size: 32px; }
+
+.unlock-dialog-notification-label {
+ padding-left: 12px;
+ padding-right: 0; }
+ .unlock-dialog-notification-label:rtl {
+ padding-right: 12px;
+ padding-left: 0; }
+
+.unlock-dialog-notification-count-text {
+ font-weight: bold;
+ padding: 0 12px;
+ color: #fafafb;
+ background-color: rgba(250, 250, 251, 0.1);
+ border-radius: 999px; }
+
+.login-dialog .user-widget .user-widget-label,
+.unlock-dialog .user-widget .user-widget-label {
+ color: #fafafb; }
+
+.login-dialog .user-widget .user-icon,
+.unlock-dialog .user-widget .user-icon {
+ background-color: rgba(250, 250, 251, 0.13);
+ color: #fafafb; }
+
+.login-dialog .user-widget.horizontal,
+.unlock-dialog .user-widget.horizontal {
+ spacing: 18px; }
+
+.login-dialog .user-widget.vertical,
+.unlock-dialog .user-widget.vertical {
+ spacing: 24px; }
+ .login-dialog .user-widget.vertical .user-widget-label,
+ .unlock-dialog .user-widget.vertical .user-widget-label {
+ font-weight: 400;
+ font-size: 1.818em;
+ text-align: center;
+ margin-bottom: .75em; }
+ .login-dialog .user-widget.vertical .user-icon,
+ .unlock-dialog .user-widget.vertical .user-icon {
+ icon-size: 160px; }
+ .login-dialog .user-widget.vertical .user-icon StIcon,
+ .unlock-dialog .user-widget.vertical .user-icon StIcon {
+ padding: 30px; }
--- /dev/null
- translate_pa_state (pa_sink_state_t state) {
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2006-2008 Lennart Poettering
+ * Copyright (C) 2008 Sjoerd Simons <sjoerd@luon.net>
+ * Copyright (C) 2008 William Jon McCann
+ * Copyright (C) 2012 Conor Curran
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include <glib.h>
+#include <glib/gi18n-lib.h>
+
+#include <pulse/pulseaudio.h>
+#include <pulse/glib-mainloop.h>
+#include <pulse/ext-stream-restore.h>
+
+#ifdef HAVE_ALSA
+#include <alsa/asoundlib.h>
+#endif /* HAVE_ALSA */
+
+#include "gvc-mixer-control.h"
+#include "gvc-mixer-sink.h"
+#include "gvc-mixer-source.h"
+#include "gvc-mixer-sink-input.h"
+#include "gvc-mixer-source-output.h"
+#include "gvc-mixer-event-role.h"
+#include "gvc-mixer-card.h"
+#include "gvc-mixer-card-private.h"
+#include "gvc-channel-map-private.h"
+#include "gvc-mixer-control-private.h"
+#include "gvc-mixer-ui-device.h"
+
+#define RECONNECT_DELAY 5
+
+enum {
+ PROP_0,
+ PROP_NAME,
+ N_PROPS
+};
+static GParamSpec *obj_props[N_PROPS] = { NULL, };
+
+struct GvcMixerControlPrivate
+{
+ pa_glib_mainloop *pa_mainloop;
+ pa_mainloop_api *pa_api;
+ pa_context *pa_context;
+ guint server_protocol_version;
+ int n_outstanding;
+ guint reconnect_id;
+ char *name;
+
+ gboolean default_sink_is_set;
+ guint default_sink_id;
+ char *default_sink_name;
+ gboolean default_source_is_set;
+ guint default_source_id;
+ char *default_source_name;
+
+ gboolean event_sink_input_is_set;
+ guint event_sink_input_id;
+
+ GHashTable *all_streams;
+ GHashTable *sinks; /* fixed outputs */
+ GHashTable *sources; /* fixed inputs */
+ GHashTable *sink_inputs; /* routable output streams */
+ GHashTable *source_outputs; /* routable input streams */
+ GHashTable *clients;
+ GHashTable *cards;
+
+ GvcMixerStream *new_default_sink_stream; /* new default sink stream, used in gvc_mixer_control_set_default_sink () */
+ GvcMixerStream *new_default_source_stream; /* new default source stream, used in gvc_mixer_control_set_default_source () */
+
+ GHashTable *ui_outputs; /* UI visible outputs */
+ GHashTable *ui_inputs; /* UI visible inputs */
+
+ /* When we change profile on a device that is not the server default sink,
+ * it will jump back to the default sink set by the server to prevent the
+ * audio setup from being 'outputless'.
+ *
+ * All well and good but then when we get the new stream created for the
+ * new profile how do we know that this is the intended default or selected
+ * device the user wishes to use. */
+ guint profile_swapping_device_id;
+
+#ifdef HAVE_ALSA
+ int headset_card;
+ gboolean has_headsetmic;
+ gboolean has_headphonemic;
+ gboolean headset_plugged_in;
+ char *headphones_name;
+ char *headsetmic_name;
+ char *headphonemic_name;
+ char *internalspk_name;
+ char *internalmic_name;
+#endif /* HAVE_ALSA */
+
+ GvcMixerControlState state;
+};
+
+enum {
+ STATE_CHANGED,
+ STREAM_ADDED,
+ STREAM_REMOVED,
+ STREAM_CHANGED,
+ CARD_ADDED,
+ CARD_REMOVED,
+ DEFAULT_SINK_CHANGED,
+ DEFAULT_SOURCE_CHANGED,
+ ACTIVE_OUTPUT_UPDATE,
+ ACTIVE_INPUT_UPDATE,
+ OUTPUT_ADDED,
+ INPUT_ADDED,
+ OUTPUT_REMOVED,
+ INPUT_REMOVED,
+ AUDIO_DEVICE_SELECTION_NEEDED,
+ LAST_SIGNAL
+};
+
+static guint signals [LAST_SIGNAL] = { 0, };
+
+static void gvc_mixer_control_finalize (GObject *object);
+
+G_DEFINE_TYPE_WITH_PRIVATE (GvcMixerControl, gvc_mixer_control, G_TYPE_OBJECT)
+
+pa_context *
+gvc_mixer_control_get_pa_context (GvcMixerControl *control)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+ return control->priv->pa_context;
+}
+
+/**
+ * gvc_mixer_control_get_event_sink_input:
+ * @control:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerStream *
+gvc_mixer_control_get_event_sink_input (GvcMixerControl *control)
+{
+ GvcMixerStream *stream;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ stream = g_hash_table_lookup (control->priv->all_streams,
+ GUINT_TO_POINTER (control->priv->event_sink_input_id));
+
+ return stream;
+}
+
+static void
+gvc_mixer_control_stream_restore_cb (pa_context *c,
+ GvcMixerStream *new_stream,
+ const pa_ext_stream_restore_info *info,
+ GvcMixerControl *control)
+{
+ pa_operation *o;
+ pa_ext_stream_restore_info new_info;
+
+ if (new_stream == NULL)
+ return;
+
+ new_info.name = info->name;
+ new_info.channel_map = info->channel_map;
+ new_info.volume = info->volume;
+ new_info.mute = info->mute;
+
+ new_info.device = gvc_mixer_stream_get_name (new_stream);
+
+ o = pa_ext_stream_restore_write (control->priv->pa_context,
+ PA_UPDATE_REPLACE,
+ &new_info, 1,
+ TRUE, NULL, NULL);
+
+ if (o == NULL) {
+ g_warning ("pa_ext_stream_restore_write() failed: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ return;
+ }
+
+ g_debug ("Changed default device for %s to %s", info->name, new_info.device);
+
+ pa_operation_unref (o);
+}
+
+static void
+gvc_mixer_control_stream_restore_sink_cb (pa_context *c,
+ const pa_ext_stream_restore_info *info,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = (GvcMixerControl *) userdata;
+ if (eol || info == NULL || !g_str_has_prefix(info->name, "sink-input-by"))
+ return;
+ gvc_mixer_control_stream_restore_cb (c, control->priv->new_default_sink_stream, info, control);
+}
+
+static void
+gvc_mixer_control_stream_restore_source_cb (pa_context *c,
+ const pa_ext_stream_restore_info *info,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = (GvcMixerControl *) userdata;
+ if (eol || info == NULL || !g_str_has_prefix(info->name, "source-output-by"))
+ return;
+ gvc_mixer_control_stream_restore_cb (c, control->priv->new_default_source_stream, info, control);
+}
+
+/**
+ * gvc_mixer_control_lookup_device_from_stream:
+ * @control:
+ * @stream:
+ *
+ * Returns: (transfer none): a #GvcUIDevice or %NULL
+ */
+GvcMixerUIDevice *
+gvc_mixer_control_lookup_device_from_stream (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ GList *devices, *d;
+ const GList *ports;
+ GvcMixerUIDevice *ret;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+ g_return_val_if_fail (GVC_IS_MIXER_STREAM (stream), NULL);
+
+ if (GVC_IS_MIXER_SOURCE (stream))
+ devices = g_hash_table_get_values (control->priv->ui_inputs);
+ else
+ devices = g_hash_table_get_values (control->priv->ui_outputs);
+
+ ret = NULL;
+ ports = gvc_mixer_stream_get_ports (stream);
+
+ for (d = devices; d != NULL; d = d->next) {
+ GvcMixerUIDevice *device = d->data;
+ guint stream_id = G_MAXUINT;
+ const GvcMixerStreamPort *port;
+
+ g_object_get (G_OBJECT (device),
+ "stream-id", &stream_id,
+ NULL);
+
+ if (stream_id != gvc_mixer_stream_get_id (stream))
+ continue;
+
+ if (ports == NULL) {
+ g_debug ("lookup-device-from-stream - %s - is portless ",
+ gvc_mixer_ui_device_get_description (device));
+ ret = device;
+ break;
+ }
+
+ port = gvc_mixer_stream_get_port (stream);
+ if (g_strcmp0 (gvc_mixer_ui_device_get_port (device), port->port) == 0) {
+ g_debug ("lookup-device-from-stream found device: device description '%s', device port = '%s', device stream id %i AND stream port = '%s' stream id '%u' and stream description '%s'",
+ gvc_mixer_ui_device_get_description (device),
+ gvc_mixer_ui_device_get_port (device),
+ stream_id,
+ port->port,
+ gvc_mixer_stream_get_id (stream),
+ gvc_mixer_stream_get_description (stream));
+ ret = device;
+ break;
+
+ }
+ }
+
+ if (!ret)
+ g_debug ("lookup-device-from-stream - Could not find a device for stream '%s'", gvc_mixer_stream_get_description (stream));
+
+ g_list_free (devices);
+
+ return ret;
+}
+
+gboolean
+gvc_mixer_control_set_default_sink (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ pa_operation *o;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
+ g_return_val_if_fail (GVC_IS_MIXER_STREAM (stream), FALSE);
+
+ g_debug ("about to set default sink on server");
+ o = pa_context_set_default_sink (control->priv->pa_context,
+ gvc_mixer_stream_get_name (stream),
+ NULL,
+ NULL);
+ if (o == NULL) {
+ g_warning ("pa_context_set_default_sink() failed: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ return FALSE;
+ }
+
+ pa_operation_unref (o);
+
+ control->priv->new_default_sink_stream = stream;
+ g_object_add_weak_pointer (G_OBJECT (stream), (gpointer *) &control->priv->new_default_sink_stream);
+
+ o = pa_ext_stream_restore_read (control->priv->pa_context,
+ gvc_mixer_control_stream_restore_sink_cb,
+ control);
+
+ if (o == NULL) {
+ g_warning ("pa_ext_stream_restore_read() failed: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ return FALSE;
+ }
+
+ pa_operation_unref (o);
+
+ return TRUE;
+}
+
+gboolean
+gvc_mixer_control_set_default_source (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ pa_operation *o;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
+ g_return_val_if_fail (GVC_IS_MIXER_STREAM (stream), FALSE);
+
+ o = pa_context_set_default_source (control->priv->pa_context,
+ gvc_mixer_stream_get_name (stream),
+ NULL,
+ NULL);
+ if (o == NULL) {
+ g_warning ("pa_context_set_default_source() failed");
+ return FALSE;
+ }
+
+ pa_operation_unref (o);
+
+ control->priv->new_default_source_stream = stream;
+ g_object_add_weak_pointer (G_OBJECT (stream), (gpointer *) &control->priv->new_default_source_stream);
+
+ o = pa_ext_stream_restore_read (control->priv->pa_context,
+ gvc_mixer_control_stream_restore_source_cb,
+ control);
+
+ if (o == NULL) {
+ g_warning ("pa_ext_stream_restore_read() failed: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ return FALSE;
+ }
+
+ pa_operation_unref (o);
+
+ return TRUE;
+}
+
+/**
+ * gvc_mixer_control_get_default_sink:
+ * @control:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerStream *
+gvc_mixer_control_get_default_sink (GvcMixerControl *control)
+{
+ GvcMixerStream *stream;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ if (control->priv->default_sink_is_set) {
+ stream = g_hash_table_lookup (control->priv->all_streams,
+ GUINT_TO_POINTER (control->priv->default_sink_id));
+ } else {
+ stream = NULL;
+ }
+
+ return stream;
+}
+
+/**
+ * gvc_mixer_control_get_default_source:
+ * @control:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerStream *
+gvc_mixer_control_get_default_source (GvcMixerControl *control)
+{
+ GvcMixerStream *stream;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ if (control->priv->default_source_is_set) {
+ stream = g_hash_table_lookup (control->priv->all_streams,
+ GUINT_TO_POINTER (control->priv->default_source_id));
+ } else {
+ stream = NULL;
+ }
+
+ return stream;
+}
+
+static gpointer
+gvc_mixer_control_lookup_id (GHashTable *hash_table,
+ guint id)
+{
+ return g_hash_table_lookup (hash_table,
+ GUINT_TO_POINTER (id));
+}
+
+/**
+ * gvc_mixer_control_lookup_stream_id:
+ * @control:
+ * @id:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerStream *
+gvc_mixer_control_lookup_stream_id (GvcMixerControl *control,
+ guint id)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ return gvc_mixer_control_lookup_id (control->priv->all_streams, id);
+}
+
+/**
+ * gvc_mixer_control_lookup_card_id:
+ * @control:
+ * @id:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerCard *
+gvc_mixer_control_lookup_card_id (GvcMixerControl *control,
+ guint id)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ return gvc_mixer_control_lookup_id (control->priv->cards, id);
+}
+
+/**
+ * gvc_mixer_control_lookup_output_id:
+ * @control:
+ * @id:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerUIDevice *
+gvc_mixer_control_lookup_output_id (GvcMixerControl *control,
+ guint id)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ return gvc_mixer_control_lookup_id (control->priv->ui_outputs, id);
+}
+
+/**
+ * gvc_mixer_control_lookup_input_id:
+ * @control:
+ * @id:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerUIDevice *
+gvc_mixer_control_lookup_input_id (GvcMixerControl *control,
+ guint id)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ return gvc_mixer_control_lookup_id (control->priv->ui_inputs, id);
+}
+
+/**
+ * gvc_mixer_control_get_stream_from_device:
+ * @control:
+ * @device:
+ *
+ * Returns: (transfer none):
+ */
+GvcMixerStream *
+gvc_mixer_control_get_stream_from_device (GvcMixerControl *control,
+ GvcMixerUIDevice *device)
+{
+ gint stream_id;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+ g_return_val_if_fail (GVC_IS_MIXER_UI_DEVICE (device), NULL);
+
+ stream_id = gvc_mixer_ui_device_get_stream_id (device);
+
+ if (stream_id == GVC_MIXER_UI_DEVICE_INVALID) {
+ g_debug ("gvc_mixer_control_get_stream_from_device - device has a null stream");
+ return NULL;
+ }
+ return gvc_mixer_control_lookup_stream_id (control, stream_id);
+}
+
+/**
+ * gvc_mixer_control_change_profile_on_selected_device:
+ * @control:
+ * @device:
+ * @profile: (allow-none): Can be %NULL if any profile present on this port is okay
+ *
+ * Returns: This method will attempt to swap the profile on the card of
+ * the device with given profile name. If successful it will set the
+ * preferred profile on that device so as we know the next time the user
+ * moves to that device it should have this profile active.
+ */
+gboolean
+gvc_mixer_control_change_profile_on_selected_device (GvcMixerControl *control,
+ GvcMixerUIDevice *device,
+ const gchar *profile)
+{
+ const gchar *best_profile;
+ GvcMixerCardProfile *current_profile;
+ GvcMixerCard *card;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
+ g_return_val_if_fail (GVC_IS_MIXER_UI_DEVICE (device), FALSE);
+
+ g_object_get (G_OBJECT (device), "card", &card, NULL);
+ current_profile = gvc_mixer_card_get_profile (card);
+
+ if (current_profile)
+ best_profile = gvc_mixer_ui_device_get_best_profile (device, profile, current_profile->profile);
+ else
+ best_profile = profile;
+
+ g_assert (best_profile);
+
+ g_debug ("Selected '%s', moving to profile '%s' on card '%s' on stream id %i",
+ profile ? profile : "(any)", best_profile,
+ gvc_mixer_card_get_name (card),
+ gvc_mixer_ui_device_get_stream_id (device));
+
+ g_debug ("default sink name = %s and default sink id %u",
+ control->priv->default_sink_name,
+ control->priv->default_sink_id);
+
+ control->priv->profile_swapping_device_id = gvc_mixer_ui_device_get_id (device);
+
+ if (gvc_mixer_card_change_profile (card, best_profile)) {
+ gvc_mixer_ui_device_set_user_preferred_profile (device, best_profile);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/**
+ * gvc_mixer_control_change_output:
+ * @control:
+ * @output:
+ * This method is called from the UI when the user selects a previously unselected device.
+ * - Firstly it queries the stream from the device.
+ * - It assumes that if the stream is null that it cannot be a bluetooth or network stream (they never show unless they have valid sinks and sources)
+ * In the scenario of a NULL stream on the device
+ * - It fetches the device's preferred profile or if NULL the profile with the highest priority on that device.
+ * - It then caches this device in control->priv->cached_desired_output_id so that when the update_sink triggered
+ * from when we attempt to change profile we will know exactly what device to highlight on that stream.
+ * - It attempts to swap the profile on the card from that device and returns.
+ * - Next, it handles network or bluetooth streams that only require their stream to be made the default.
+ * - Next it deals with port changes so if the stream's active port is not the same as the port on the device
+ * it will attempt to change the port on that stream to be same as the device. If this fails it will return.
+ * - Finally it will set this new stream to be the default stream and emit a signal for the UI confirming the active output device.
+ */
+void
+gvc_mixer_control_change_output (GvcMixerControl *control,
+ GvcMixerUIDevice* output)
+{
+ GvcMixerStream *stream;
+ GvcMixerStream *default_stream;
+ const GvcMixerStreamPort *active_port;
+ const gchar *output_port;
+
+ g_return_if_fail (GVC_IS_MIXER_CONTROL (control));
+ g_return_if_fail (GVC_IS_MIXER_UI_DEVICE (output));
+
+ g_debug ("control change output");
+
+ stream = gvc_mixer_control_get_stream_from_device (control, output);
+ if (stream == NULL) {
+ gvc_mixer_control_change_profile_on_selected_device (control,
+ output, NULL);
+ return;
+ }
+
+ if (!gvc_mixer_ui_device_has_ports (output)) {
+ g_debug ("Did we try to move to a software/bluetooth sink ?");
+ if (!gvc_mixer_control_set_default_sink (control, stream)) {
+ g_warning ("Failed to set default sink with stream from output %s",
+ gvc_mixer_ui_device_get_description (output));
+ }
+ return;
+ }
+
+ active_port = gvc_mixer_stream_get_port (stream);
+ output_port = gvc_mixer_ui_device_get_port (output);
+ /* First ensure the correct port is active on the sink */
+ if (g_strcmp0 (active_port->port, output_port) != 0) {
+ g_debug ("Port change, switch to = %s", output_port);
+ if (gvc_mixer_stream_change_port (stream, output_port) == FALSE) {
+ g_warning ("Could not change port !");
+ return;
+ }
+ }
+
+ default_stream = gvc_mixer_control_get_default_sink (control);
+
+ /* Finally if we are not on the correct stream, swap over. */
+ if (stream != default_stream) {
+ g_debug ("Attempting to swap over to stream %s ",
+ gvc_mixer_stream_get_description (stream));
+ if (!gvc_mixer_control_set_default_sink (control, stream)) {
+ g_warning ("Failed to set default sink from output %s",
+ gvc_mixer_ui_device_get_description (output));
+ }
+ }
+}
+
+
+/**
+ * gvc_mixer_control_change_input:
+ * @control:
+ * @input:
+ * This method is called from the UI when the user selects a previously unselected device.
+ * - Firstly it queries the stream from the device.
+ * - It assumes that if the stream is null that it cannot be a bluetooth or network stream (they never show unless they have valid sinks and sources)
+ * In the scenario of a NULL stream on the device
+ * - It fetches the device's preferred profile or if NULL the profile with the highest priority on that device.
+ * - It then caches this device in control->priv->cached_desired_input_id so that when the update_source triggered
+ * from when we attempt to change profile we will know exactly what device to highlight on that stream.
+ * - It attempts to swap the profile on the card from that device and returns.
+ * - Next, it handles network or bluetooth streams that only require their stream to be made the default.
+ * - Next it deals with port changes so if the stream's active port is not the same as the port on the device
+ * it will attempt to change the port on that stream to be same as the device. If this fails it will return.
+ * - Finally it will set this new stream to be the default stream and emit a signal for the UI confirming the active input device.
+ */
+void
+gvc_mixer_control_change_input (GvcMixerControl *control,
+ GvcMixerUIDevice* input)
+{
+ GvcMixerStream *stream;
+ GvcMixerStream *default_stream;
+ const GvcMixerStreamPort *active_port;
+ const gchar *input_port;
+
+ g_return_if_fail (GVC_IS_MIXER_CONTROL (control));
+ g_return_if_fail (GVC_IS_MIXER_UI_DEVICE (input));
+
+ stream = gvc_mixer_control_get_stream_from_device (control, input);
+ if (stream == NULL) {
+ gvc_mixer_control_change_profile_on_selected_device (control,
+ input, NULL);
+ return;
+ }
+
+ if (!gvc_mixer_ui_device_has_ports (input)) {
+ g_debug ("Did we try to move to a software/bluetooth source ?");
+ if (! gvc_mixer_control_set_default_source (control, stream)) {
+ g_warning ("Failed to set default source with stream from input %s",
+ gvc_mixer_ui_device_get_description (input));
+ }
+ return;
+ }
+
+ active_port = gvc_mixer_stream_get_port (stream);
+ input_port = gvc_mixer_ui_device_get_port (input);
+ /* First ensure the correct port is active on the sink */
+ if (g_strcmp0 (active_port->port, input_port) != 0) {
+ g_debug ("Port change, switch to = %s", input_port);
+ if (gvc_mixer_stream_change_port (stream, input_port) == FALSE) {
+ g_warning ("Could not change port!");
+ return;
+ }
+ }
+
+ default_stream = gvc_mixer_control_get_default_source (control);
+
+ /* Finally if we are not on the correct stream, swap over. */
+ if (stream != default_stream) {
+ g_debug ("change-input - attempting to swap over to stream %s",
+ gvc_mixer_stream_get_description (stream));
+ if (!gvc_mixer_control_set_default_source (control, stream)) {
+ g_warning ("Failed to set default source from input %s",
+ gvc_mixer_ui_device_get_description (input));
+ }
+ }
+}
+
+
+static void
+listify_hash_values_hfunc (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ GSList **list = user_data;
+
+ *list = g_slist_prepend (*list, value);
+}
+
+static int
+gvc_name_collate (const char *namea,
+ const char *nameb)
+{
+ if (nameb == NULL && namea == NULL)
+ return 0;
+ if (nameb == NULL)
+ return 1;
+ if (namea == NULL)
+ return -1;
+
+ return g_utf8_collate (namea, nameb);
+}
+
+static int
+gvc_card_collate (GvcMixerCard *a,
+ GvcMixerCard *b)
+{
+ const char *namea;
+ const char *nameb;
+
+ g_return_val_if_fail (a == NULL || GVC_IS_MIXER_CARD (a), 0);
+ g_return_val_if_fail (b == NULL || GVC_IS_MIXER_CARD (b), 0);
+
+ namea = gvc_mixer_card_get_name (a);
+ nameb = gvc_mixer_card_get_name (b);
+
+ return gvc_name_collate (namea, nameb);
+}
+
+/**
+ * gvc_mixer_control_get_cards:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerCard):
+ */
+GSList *
+gvc_mixer_control_get_cards (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->cards,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_card_collate);
+}
+
+static int
+gvc_stream_collate (GvcMixerStream *a,
+ GvcMixerStream *b)
+{
+ const char *namea;
+ const char *nameb;
+
+ g_return_val_if_fail (a == NULL || GVC_IS_MIXER_STREAM (a), 0);
+ g_return_val_if_fail (b == NULL || GVC_IS_MIXER_STREAM (b), 0);
+
+ namea = gvc_mixer_stream_get_name (a);
+ nameb = gvc_mixer_stream_get_name (b);
+
+ return gvc_name_collate (namea, nameb);
+}
+
+/**
+ * gvc_mixer_control_get_streams:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerStream):
+ */
+GSList *
+gvc_mixer_control_get_streams (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->all_streams,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
+}
+
+/**
+ * gvc_mixer_control_get_sinks:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerSink):
+ */
+GSList *
+gvc_mixer_control_get_sinks (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->sinks,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
+}
+
+/**
+ * gvc_mixer_control_get_sources:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerSource):
+ */
+GSList *
+gvc_mixer_control_get_sources (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->sources,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
+}
+
+/**
+ * gvc_mixer_control_get_sink_inputs:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerSinkInput):
+ */
+GSList *
+gvc_mixer_control_get_sink_inputs (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->sink_inputs,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
+}
+
+/**
+ * gvc_mixer_control_get_source_outputs:
+ * @control:
+ *
+ * Returns: (transfer container) (element-type Gvc.MixerSourceOutput):
+ */
+GSList *
+gvc_mixer_control_get_source_outputs (GvcMixerControl *control)
+{
+ GSList *retval;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), NULL);
+
+ retval = NULL;
+ g_hash_table_foreach (control->priv->source_outputs,
+ listify_hash_values_hfunc,
+ &retval);
+ return g_slist_sort (retval, (GCompareFunc) gvc_stream_collate);
+}
+
+static void
+dec_outstanding (GvcMixerControl *control)
+{
+ if (control->priv->n_outstanding <= 0) {
+ return;
+ }
+
+ if (--control->priv->n_outstanding <= 0) {
+ control->priv->state = GVC_STATE_READY;
+ g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_READY);
+ }
+}
+
+GvcMixerControlState
+gvc_mixer_control_get_state (GvcMixerControl *control)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), GVC_STATE_CLOSED);
+
+ return control->priv->state;
+}
+
+static void
+on_default_source_port_notify (GObject *object,
+ GParamSpec *pspec,
+ GvcMixerControl *control)
+{
+ char *port;
+ GvcMixerUIDevice *input;
+
+ g_object_get (object, "port", &port, NULL);
+ input = gvc_mixer_control_lookup_device_from_stream (control,
+ GVC_MIXER_STREAM (object));
+
+ g_debug ("on_default_source_port_notify - moved to port '%s' which SHOULD ?? correspond to output '%s'",
+ port,
+ gvc_mixer_ui_device_get_description (input));
+
+ g_signal_emit (G_OBJECT (control),
+ signals[ACTIVE_INPUT_UPDATE],
+ 0,
+ gvc_mixer_ui_device_get_id (input));
+
+ g_free (port);
+}
+
+
+static void
+_set_default_source (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ guint new_id;
+
+ if (stream == NULL) {
+ if (!control->priv->default_source_is_set)
+ return;
+
+ g_signal_handlers_disconnect_by_func (gvc_mixer_control_get_default_source (control),
+ on_default_source_port_notify,
+ control);
+
+ control->priv->default_source_id = 0;
+ control->priv->default_source_is_set = FALSE;
+ g_signal_emit (control,
+ signals[DEFAULT_SOURCE_CHANGED],
+ 0,
+ PA_INVALID_INDEX);
+ return;
+ }
+
+ new_id = gvc_mixer_stream_get_id (stream);
+
+ if (control->priv->default_source_id != new_id) {
+ GvcMixerUIDevice *input;
+
+ if (control->priv->default_source_is_set) {
+ g_signal_handlers_disconnect_by_func (gvc_mixer_control_get_default_source (control),
+ on_default_source_port_notify,
+ control);
+ }
+
+ g_signal_connect (stream,
+ "notify::port",
+ G_CALLBACK (on_default_source_port_notify),
+ control);
+
+ control->priv->default_source_id = new_id;
+ control->priv->default_source_is_set = TRUE;
+ g_signal_emit (control,
+ signals[DEFAULT_SOURCE_CHANGED],
+ 0,
+ new_id);
+
+ input = gvc_mixer_control_lookup_device_from_stream (control, stream);
+ if (input) {
+ g_signal_emit (G_OBJECT (control),
+ signals[ACTIVE_INPUT_UPDATE],
+ 0,
+ gvc_mixer_ui_device_get_id (input));
+ } else {
+ g_warning ("Can't find input for stream-id %d",new_id);
+ }
+ }
+}
+
+static void
+on_default_sink_port_notify (GObject *object,
+ GParamSpec *pspec,
+ GvcMixerControl *control)
+{
+ char *port;
+ GvcMixerUIDevice *output;
+
+ g_object_get (object, "port", &port, NULL);
+
+ output = gvc_mixer_control_lookup_device_from_stream (control,
+ GVC_MIXER_STREAM (object));
+ if (output != NULL) {
+ g_debug ("on_default_sink_port_notify - moved to port %s - which SHOULD correspond to output %s",
+ port,
+ gvc_mixer_ui_device_get_description (output));
+ g_signal_emit (G_OBJECT (control),
+ signals[ACTIVE_OUTPUT_UPDATE],
+ 0,
+ gvc_mixer_ui_device_get_id (output));
+ }
+ g_free (port);
+}
+
+static void
+_set_default_sink (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ guint new_id;
+
+ if (stream == NULL) {
+ /* Don't tell front-ends about an unset default
+ * sink if it's already unset */
+ if (control->priv->default_sink_is_set == FALSE)
+ return;
+
+ g_signal_handlers_disconnect_by_func (gvc_mixer_control_get_default_sink (control),
+ on_default_sink_port_notify,
+ control);
+
+ control->priv->default_sink_id = 0;
+ control->priv->default_sink_is_set = FALSE;
+ g_signal_emit (control,
+ signals[DEFAULT_SINK_CHANGED],
+ 0,
+ PA_INVALID_INDEX);
+ return;
+ }
+
+ new_id = gvc_mixer_stream_get_id (stream);
+
+ if (control->priv->default_sink_id != new_id) {
+ GvcMixerUIDevice *output;
+ if (control->priv->default_sink_is_set) {
+ g_signal_handlers_disconnect_by_func (gvc_mixer_control_get_default_sink (control),
+ on_default_sink_port_notify,
+ control);
+ }
+
+ control->priv->default_sink_id = new_id;
+
+ control->priv->default_sink_is_set = TRUE;
+ g_signal_emit (control,
+ signals[DEFAULT_SINK_CHANGED],
+ 0,
+ new_id);
+
+ g_signal_connect (stream,
+ "notify::port",
+ G_CALLBACK (on_default_sink_port_notify),
+ control);
+
+ output = gvc_mixer_control_lookup_device_from_stream (control, stream);
+
+ g_debug ("active_sink change");
+
+ g_signal_emit (G_OBJECT (control),
+ signals[ACTIVE_OUTPUT_UPDATE],
+ 0,
+ gvc_mixer_ui_device_get_id (output));
+ }
+}
+
+static gboolean
+_stream_has_name (gpointer key,
+ GvcMixerStream *stream,
+ const char *name)
+{
+ const char *t_name;
+
+ t_name = gvc_mixer_stream_get_name (stream);
+
+ if (t_name != NULL
+ && name != NULL
+ && strcmp (t_name, name) == 0) {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static GvcMixerStream *
+find_stream_for_name (GvcMixerControl *control,
+ const char *name)
+{
+ GvcMixerStream *stream;
+
+ stream = g_hash_table_find (control->priv->all_streams,
+ (GHRFunc)_stream_has_name,
+ (char *)name);
+ return stream;
+}
+
+static void
+update_default_source_from_name (GvcMixerControl *control,
+ const char *name)
+{
+ gboolean changed = FALSE;
+
+ if ((control->priv->default_source_name == NULL
+ && name != NULL)
+ || (control->priv->default_source_name != NULL
+ && name == NULL)
+ || (name != NULL && strcmp (control->priv->default_source_name, name) != 0)) {
+ changed = TRUE;
+ }
+
+ if (changed) {
+ GvcMixerStream *stream;
+
+ g_free (control->priv->default_source_name);
+ control->priv->default_source_name = g_strdup (name);
+
+ stream = find_stream_for_name (control, name);
+ _set_default_source (control, stream);
+ }
+}
+
+static void
+update_default_sink_from_name (GvcMixerControl *control,
+ const char *name)
+{
+ gboolean changed = FALSE;
+
+ if ((control->priv->default_sink_name == NULL
+ && name != NULL)
+ || (control->priv->default_sink_name != NULL
+ && name == NULL)
+ || (name != NULL && strcmp (control->priv->default_sink_name, name) != 0)) {
+ changed = TRUE;
+ }
+
+ if (changed) {
+ GvcMixerStream *stream;
+ g_free (control->priv->default_sink_name);
+ control->priv->default_sink_name = g_strdup (name);
+
+ stream = find_stream_for_name (control, name);
+ _set_default_sink (control, stream);
+ }
+}
+
+static void
+update_server (GvcMixerControl *control,
+ const pa_server_info *info)
+{
+ if (info->default_source_name != NULL) {
+ update_default_source_from_name (control, info->default_source_name);
+ }
+ if (info->default_sink_name != NULL) {
+ g_debug ("update server");
+ update_default_sink_from_name (control, info->default_sink_name);
+ }
+}
+
+static void
+remove_stream (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ guint id;
+
+ g_object_ref (stream);
+
+ id = gvc_mixer_stream_get_id (stream);
+
+ if (id == control->priv->default_sink_id) {
+ _set_default_sink (control, NULL);
+ } else if (id == control->priv->default_source_id) {
+ _set_default_source (control, NULL);
+ }
+
+ g_hash_table_remove (control->priv->all_streams,
+ GUINT_TO_POINTER (id));
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_REMOVED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+ g_object_unref (stream);
+}
+
+/**
+ * add_stream: (skip)
+ * @control: The control to add the stream to
+ * @stream:(transfer full): The stream to add
+ *
+ * Add a stream to the hash table of all known streams
+ */
+static void
+add_stream (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ g_hash_table_insert (control->priv->all_streams,
+ GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)),
+ stream);
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_ADDED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+}
+
+/* This method will match individual stream ports against its corresponding device
+ * It does this by:
+ * - iterates through our devices and finds the one where the card-id on the device is the same as the card-id on the stream
+ * and the port-name on the device is the same as the streamport-name.
+ * This should always find a match and is used exclusively by sync_devices().
+ */
+static gboolean
+match_stream_with_devices (GvcMixerControl *control,
+ GvcMixerStreamPort *stream_port,
+ GvcMixerStream *stream,
+ gboolean is_bluetooth)
+{
+ g_autoptr (GList) devices = NULL;
+ guint stream_card_id;
+ guint stream_id;
+ gboolean in_possession = FALSE;
+
+ stream_id = gvc_mixer_stream_get_id (stream);
+ stream_card_id = gvc_mixer_stream_get_card_index (stream);
+
+ devices = g_hash_table_get_values (GVC_IS_MIXER_SOURCE (stream) ? control->priv->ui_inputs : control->priv->ui_outputs);
+
+ for (GList *d = devices; d != NULL; d = d->next) {
+ GvcMixerUIDevice *device;
+ guint device_stream_id;
+ g_autofree gchar *device_port_name = NULL;
+ g_autofree gchar *origin = NULL;
+ g_autofree gchar *description = NULL;
+ GvcMixerCard *card;
+ guint card_id;
+
+ device = d->data;
+ g_object_get (G_OBJECT (device),
+ "stream-id", &device_stream_id,
+ "card", &card,
+ "origin", &origin,
+ "description", &description,
+ "port-name", &device_port_name,
+ NULL);
+
+ if (card == NULL) {
+ if (device_stream_id == stream_id) {
+ g_debug ("Matched stream %u with card-less device '%s', with stream already setup",
+ stream_id, description);
+ in_possession = TRUE;
+ }
+ } else {
+ card_id = gvc_mixer_card_get_index (card);
+
+ g_debug ("Attempt to match_stream update_with_existing_outputs - Try description : '%s', origin : '%s', device port name : '%s', card : %p, AGAINST stream port: '%s', sink card id %i",
+ description,
+ origin,
+ device_port_name,
+ card,
+ stream_port->port,
+ stream_card_id);
+
+ if (stream_card_id == card_id) {
+ if (g_strcmp0 (device_port_name, stream_port->port) == 0) {
+ g_debug ("Match device with stream: We have a match with description: '%s', origin: '%s', cached already with device id %u, so set stream id to %i",
+ description,
+ origin,
+ gvc_mixer_ui_device_get_id (device),
+ stream_id);
+
+ g_object_set (G_OBJECT (device),
+ "stream-id", stream_id,
+ NULL);
+ in_possession = TRUE;
+ } else {
+ /* Other UI devices on that card that match the stream can't be valid */
+ if (device_stream_id == stream_id && is_bluetooth) {
+ g_object_set (G_OBJECT (device),
+ "stream-id", GVC_MIXER_UI_DEVICE_INVALID,
+ NULL);
+ g_debug ("Found another UI device for this stream: %d, resetting", stream_id);
+ }
+ }
+ }
+ }
+ }
+
+ return in_possession;
+}
+
+
+/* Clear stream-id from all UI devices that reference the stream that lost all ports */
+static void
+clear_stream_from_devices (GvcMixerControl *control,
+ GvcMixerStream *stream)
+{
+ g_autoptr (GList) devices = NULL;
+ guint stream_id;
+
+ stream_id = gvc_mixer_stream_get_id (stream);
+ devices = g_hash_table_get_values (GVC_IS_MIXER_SOURCE (stream) ? control->priv->ui_inputs : control->priv->ui_outputs);
+
+ for (GList *d = devices; d != NULL; d = d->next) {
+ guint device_stream_id;
+ GvcMixerUIDevice *device = d->data;
+
+ g_object_get (G_OBJECT (device),
+ "stream-id", &device_stream_id,
+ NULL);
+
+ if (device_stream_id == stream_id) {
+ g_object_set (G_OBJECT (device),
+ "stream-id", GVC_MIXER_UI_DEVICE_INVALID,
+ NULL);
+ g_debug ("Clearing stream-id: %d", stream_id);
+ }
+ }
+}
+
+/*
+ * This method attempts to match a sink or source with its relevant UI device.
+ * GvcMixerStream can represent both a sink or source.
+ * Using static card port introspection implies that we know beforehand what
+ * outputs and inputs are available to the user.
+ * But that does not mean that all of these inputs and outputs are available to be used.
+ * For instance we might be able to see that there is a HDMI port available but if
+ * we are on the default analog stereo output profile there is no valid sink for
+ * that HDMI device. We first need to change profile and when update_sink() is called
+ * only then can we match the new hdmi sink with its corresponding device.
+ *
+ * Firstly it checks to see if the incoming stream has no ports.
+ * - If a stream has no ports and no valid card id, it goes ahead and makes a new
+ * device (software/network devices are only detectable at the sink/source level)
+ * If the stream has ports it will match each port against the stream using match_stream_with_devices().
+ *
+ * This method should always find a match.
+ */
+static void
+sync_devices (GvcMixerControl *control,
+ GvcMixerStream* stream,
+ gboolean is_new,
+ gboolean is_bluetooth)
+{
+ /* Go through ports to see what outputs can be created. */
+ const GList *stream_ports;
+ const GList *n = NULL;
+ gboolean is_output = !GVC_IS_MIXER_SOURCE (stream);
+
+ stream_ports = gvc_mixer_stream_get_ports (stream);
+
+ if (stream_ports == NULL && is_bluetooth) {
+ clear_stream_from_devices (control, stream);
+ return;
+ }
+
+ if (stream_ports == NULL && is_new) {
+ GvcMixerUIDevice *device;
+ GObject *object;
+
+ object = g_object_new (GVC_TYPE_MIXER_UI_DEVICE,
+ "stream-id", gvc_mixer_stream_get_id (stream),
+ "description", gvc_mixer_stream_get_description (stream),
+ "origin", "", /* Leave it empty for these special cases */
+ "port-name", NULL,
+ "port-available", TRUE,
+ "icon-name", gvc_mixer_stream_get_icon_name (stream),
+ NULL);
+ device = GVC_MIXER_UI_DEVICE (object);
+
+ g_hash_table_insert (is_output ? control->priv->ui_outputs : control->priv->ui_inputs,
+ GUINT_TO_POINTER (gvc_mixer_ui_device_get_id (device)),
+ device);
+
+ g_signal_emit (G_OBJECT (control),
+ signals[is_output ? OUTPUT_ADDED : INPUT_ADDED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+
+ return;
+ }
+
+ /* Go ahead and make sure to match each port against a previously created device */
+ for (n = stream_ports; n != NULL; n = n->next) {
+
+ GvcMixerStreamPort *stream_port;
+ stream_port = n->data;
+
+ if (match_stream_with_devices (control, stream_port, stream, is_bluetooth))
+ continue;
+
+ g_warning ("Sync_devices: Failed to match stream id: %u, description: '%s', origin: '%s'",
+ gvc_mixer_stream_get_id (stream),
+ stream_port->human_port,
+ gvc_mixer_stream_get_description (stream));
+ }
+}
+
+static void
+set_icon_name_from_proplist (GvcMixerStream *stream,
+ pa_proplist *l,
+ const char *default_icon_name)
+{
+ const char *t;
+
+ if ((t = pa_proplist_gets (l, PA_PROP_DEVICE_ICON_NAME))) {
+ goto finish;
+ }
+
+ if ((t = pa_proplist_gets (l, PA_PROP_MEDIA_ICON_NAME))) {
+ goto finish;
+ }
+
+ if ((t = pa_proplist_gets (l, PA_PROP_WINDOW_ICON_NAME))) {
+ goto finish;
+ }
+
+ if ((t = pa_proplist_gets (l, PA_PROP_APPLICATION_ICON_NAME))) {
+ goto finish;
+ }
+
+ if ((t = pa_proplist_gets (l, PA_PROP_MEDIA_ROLE))) {
+
+ if (strcmp (t, "video") == 0 ||
+ strcmp (t, "phone") == 0) {
+ goto finish;
+ }
+
+ if (strcmp (t, "music") == 0) {
+ t = "audio";
+ goto finish;
+ }
+
+ if (strcmp (t, "game") == 0) {
+ t = "applications-games";
+ goto finish;
+ }
+
+ if (strcmp (t, "event") == 0) {
+ t = "dialog-information";
+ goto finish;
+ }
+ }
+
+ t = default_icon_name;
+
+ finish:
+ gvc_mixer_stream_set_icon_name (stream, t);
+}
+
+static GvcMixerStreamState
- gvc_mixer_stream_set_state (stream, translate_pa_state (info->state));
++translate_pa_sink_state (pa_sink_state_t state) {
+ switch (state) {
+ case PA_SINK_RUNNING:
+ return GVC_STREAM_STATE_RUNNING;
+ case PA_SINK_IDLE:
+ return GVC_STREAM_STATE_IDLE;
+ case PA_SINK_SUSPENDED:
+ return GVC_STREAM_STATE_SUSPENDED;
+ case PA_SINK_INIT:
+ case PA_SINK_INVALID_STATE:
+ case PA_SINK_UNLINKED:
+ default:
+ return GVC_STREAM_STATE_INVALID;
+ }
+}
+
++static GvcMixerStreamState
++translate_pa_source_state (pa_source_state_t state) {
++ switch (state) {
++ case PA_SOURCE_RUNNING:
++ return GVC_STREAM_STATE_RUNNING;
++ case PA_SOURCE_IDLE:
++ return GVC_STREAM_STATE_IDLE;
++ case PA_SOURCE_SUSPENDED:
++ return GVC_STREAM_STATE_SUSPENDED;
++ case PA_SOURCE_INVALID_STATE:
++ default:
++ return GVC_STREAM_STATE_INVALID;
++ }
++}
++
+static gboolean
+is_bluetooth (const pa_proplist *proplist)
+{
+ const char *bus = pa_proplist_gets (proplist, "device.bus");
+
+ if (bus == NULL)
+ return FALSE;
+
+ if (g_str_equal ("bluetooth", bus))
+ return TRUE;
+
+ return FALSE;
+}
+
+/*
+ * Called when anything changes with a sink.
+ */
+static void
+update_sink (GvcMixerControl *control,
+ const pa_sink_info *info)
+{
+ GvcMixerStream *stream;
+ gboolean is_new;
+ pa_volume_t max_volume;
+ GvcChannelMap *map;
+ char map_buff[PA_CHANNEL_MAP_SNPRINT_MAX];
+ GList *list = NULL;
+ gboolean is_bt;
+
+ pa_channel_map_snprint (map_buff, PA_CHANNEL_MAP_SNPRINT_MAX, &info->channel_map);
+#if 1
+ g_debug ("Updating sink: index=%u name='%s' description='%s' map='%s'",
+ info->index,
+ info->name,
+ info->description,
+ map_buff);
+#endif
+
+ map = NULL;
+ is_new = FALSE;
+ stream = g_hash_table_lookup (control->priv->sinks,
+ GUINT_TO_POINTER (info->index));
+
+ if (stream == NULL) {
+ map = gvc_channel_map_new_from_pa_channel_map (&info->channel_map);
+ stream = gvc_mixer_sink_new (control->priv->pa_context,
+ info->index,
+ map);
+ g_object_unref (map);
+ is_new = TRUE;
+
+ } else if (gvc_mixer_stream_is_running (stream)) {
+ /* Ignore events if volume changes are outstanding */
+ g_debug ("Ignoring event, volume changes are outstanding");
+ return;
+ }
+
+ for (guint i = 0; i < info->n_ports; i++) {
+ GvcMixerStreamPort *port;
+
+ port = g_slice_new0 (GvcMixerStreamPort);
+ port->port = g_strdup (info->ports[i]->name);
+ port->human_port = g_strdup (info->ports[i]->description);
+ port->priority = info->ports[i]->priority;
+ port->available = info->ports[i]->available != PA_PORT_AVAILABLE_NO;
+
+ list = g_list_prepend (list, port);
+ }
+ gvc_mixer_stream_set_ports (stream, g_steal_pointer (&list));
+
+ max_volume = pa_cvolume_max (&info->volume);
+ gvc_mixer_stream_set_name (stream, info->name);
+ gvc_mixer_stream_set_card_index (stream, info->card);
+ gvc_mixer_stream_set_description (stream, info->description);
+ set_icon_name_from_proplist (stream, info->proplist, "audio-card");
+ gvc_mixer_stream_set_form_factor (stream, pa_proplist_gets (info->proplist, PA_PROP_DEVICE_FORM_FACTOR));
+ gvc_mixer_stream_set_sysfs_path (stream, pa_proplist_gets (info->proplist, "sysfs.path"));
+ gvc_mixer_stream_set_volume (stream, (guint)max_volume);
+ gvc_mixer_stream_set_is_muted (stream, info->mute);
+ gvc_mixer_stream_set_can_decibel (stream, !!(info->flags & PA_SINK_DECIBEL_VOLUME));
+ gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume);
++ gvc_mixer_stream_set_state (stream, translate_pa_sink_state (info->state));
+
+ is_bt = is_bluetooth (info->proplist);
+ /* Sync devices as the port on the stream might have changed */
+ if (!is_new)
+ sync_devices (control, stream, is_new, is_bt);
+
+ /* Messy I know but to set the port everytime regardless of whether it has changed will cost us a
+ * port change notify signal which causes the frontend to resync.
+ * Only update the UI when something has changed. */
+ if (info->active_port != NULL) {
+ if (is_new)
+ gvc_mixer_stream_set_port (stream, info->active_port->name);
+ else {
+ const GvcMixerStreamPort *active_port;
+ active_port = gvc_mixer_stream_get_port (stream);
+ if (active_port == NULL ||
+ g_strcmp0 (active_port->port, info->active_port->name) != 0) {
+ g_debug ("update sink - apparently a port update");
+ if (!gvc_mixer_stream_set_port (stream, info->active_port->name))
+ g_warning ("Port update to of %d '%s' failed", info->index, info->active_port->name);
+ }
+ }
+ }
+
+ if (is_new) {
+ g_debug ("update sink - is new");
+
+ g_hash_table_insert (control->priv->sinks,
+ GUINT_TO_POINTER (info->index),
+ g_object_ref (stream));
+ add_stream (control, stream);
+ /* Always sync on a new stream to able to assign the right stream id
+ * to the appropriate outputs (multiple potential outputs per stream). */
+ sync_devices (control, stream, is_new, is_bt);
+ } else {
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_CHANGED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+ }
+
+ /*
+ * When we change profile on a device that is not the server default sink,
+ * it will jump back to the default sink set by the server to prevent the audio setup from being 'outputless'.
+ * All well and good but then when we get the new stream created for the new profile how do we know
+ * that this is the intended default or selected device the user wishes to use.
+ * This is messy but it's the only reliable way that it can be done without ripping the whole thing apart.
+ */
+ if (control->priv->profile_swapping_device_id != GVC_MIXER_UI_DEVICE_INVALID) {
+ GvcMixerUIDevice *dev = NULL;
+ dev = gvc_mixer_control_lookup_output_id (control, control->priv->profile_swapping_device_id);
+ if (dev != NULL) {
+ /* now check to make sure this new stream is the same stream just matched and set on the device object */
+ if (gvc_mixer_ui_device_get_stream_id (dev) == gvc_mixer_stream_get_id (stream)) {
+ g_debug ("Looks like we profile swapped on a non server default sink");
+ gvc_mixer_control_set_default_sink (control, stream);
+ control->priv->profile_swapping_device_id = GVC_MIXER_UI_DEVICE_INVALID;
+ }
+ }
+ }
+
+ if (control->priv->default_sink_name != NULL
+ && info->name != NULL
+ && strcmp (control->priv->default_sink_name, info->name) == 0) {
+ _set_default_sink (control, stream);
+ }
+
+ if (map == NULL)
+ map = (GvcChannelMap *) gvc_mixer_stream_get_channel_map (stream);
+
+ gvc_channel_map_volume_changed (map, &info->volume, FALSE);
+}
+
+
+static void
+update_source (GvcMixerControl *control,
+ const pa_source_info *info)
+{
+ GvcMixerStream *stream;
+ gboolean is_new;
+ pa_volume_t max_volume;
+ GList *list = NULL;
+ gboolean is_bt;
+
+#if 1
+ g_debug ("Updating source: index=%u name='%s' description='%s'",
+ info->index,
+ info->name,
+ info->description);
+#endif
+
+ /* completely ignore monitors, they're not real sources */
+ if (info->monitor_of_sink != PA_INVALID_INDEX) {
+ return;
+ }
+
+ is_new = FALSE;
+
+ stream = g_hash_table_lookup (control->priv->sources,
+ GUINT_TO_POINTER (info->index));
+ if (stream == NULL) {
+ GvcChannelMap *map;
+
+ map = gvc_channel_map_new_from_pa_channel_map (&info->channel_map);
+ stream = gvc_mixer_source_new (control->priv->pa_context,
+ info->index,
+ map);
+ g_object_unref (map);
+ is_new = TRUE;
+ } else if (gvc_mixer_stream_is_running (stream)) {
+ /* Ignore events if volume changes are outstanding */
+ g_debug ("Ignoring event, volume changes are outstanding");
+ return;
+ }
+
+ for (guint i = 0; i < info->n_ports; i++) {
+ GvcMixerStreamPort *port;
+
+ port = g_slice_new0 (GvcMixerStreamPort);
+ port->port = g_strdup (info->ports[i]->name);
+ port->human_port = g_strdup (info->ports[i]->description);
+ port->priority = info->ports[i]->priority;
+ list = g_list_prepend (list, port);
+ }
+ gvc_mixer_stream_set_ports (stream, list);
+
+ max_volume = pa_cvolume_max (&info->volume);
+
+ gvc_mixer_stream_set_name (stream, info->name);
+ gvc_mixer_stream_set_card_index (stream, info->card);
+ gvc_mixer_stream_set_description (stream, info->description);
+ set_icon_name_from_proplist (stream, info->proplist, "audio-input-microphone");
+ gvc_mixer_stream_set_form_factor (stream, pa_proplist_gets (info->proplist, PA_PROP_DEVICE_FORM_FACTOR));
+ gvc_mixer_stream_set_volume (stream, (guint)max_volume);
+ gvc_mixer_stream_set_is_muted (stream, info->mute);
+ gvc_mixer_stream_set_can_decibel (stream, !!(info->flags & PA_SOURCE_DECIBEL_VOLUME));
+ gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume);
++ gvc_mixer_stream_set_state (stream, translate_pa_source_state (info->state));
+ g_debug ("update source");
+
+ is_bt = is_bluetooth (info->proplist);
+ /* Sync devices as the port on the stream might have changed */
+ if (!is_new)
+ sync_devices (control, stream, is_new, is_bt);
+
+ if (info->active_port != NULL) {
+ if (is_new)
+ gvc_mixer_stream_set_port (stream, info->active_port->name);
+ else {
+ const GvcMixerStreamPort *active_port;
+ active_port = gvc_mixer_stream_get_port (stream);
+ if (active_port == NULL ||
+ g_strcmp0 (active_port->port, info->active_port->name) != 0) {
+ g_debug ("update source - apparently a port update");
+ if (!gvc_mixer_stream_set_port (stream, info->active_port->name))
+ g_warning ("Port update to of %d '%s' failed", info->index, info->active_port->name);
+ }
+ }
+ }
+
+ if (is_new) {
+ g_hash_table_insert (control->priv->sources,
+ GUINT_TO_POINTER (info->index),
+ g_object_ref (stream));
+ add_stream (control, stream);
+ sync_devices (control, stream, is_new, is_bt);
+ } else {
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_CHANGED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+ }
+
+ if (control->priv->profile_swapping_device_id != GVC_MIXER_UI_DEVICE_INVALID) {
+ GvcMixerUIDevice *dev = NULL;
+
+ dev = gvc_mixer_control_lookup_input_id (control, control->priv->profile_swapping_device_id);
+
+ if (dev != NULL) {
+ /* now check to make sure this new stream is the same stream just matched and set on the device object */
+ if (gvc_mixer_ui_device_get_stream_id (dev) == gvc_mixer_stream_get_id (stream)) {
+ g_debug ("Looks like we profile swapped on a non server default source");
+ gvc_mixer_control_set_default_source (control, stream);
+ control->priv->profile_swapping_device_id = GVC_MIXER_UI_DEVICE_INVALID;
+ }
+ }
+ }
+ if (control->priv->default_source_name != NULL
+ && info->name != NULL
+ && strcmp (control->priv->default_source_name, info->name) == 0) {
+ _set_default_source (control, stream);
+ }
+}
+
+static void
+set_is_event_stream_from_proplist (GvcMixerStream *stream,
+ pa_proplist *l)
+{
+ const char *t;
+ gboolean is_event_stream;
+
+ is_event_stream = FALSE;
+
+ if ((t = pa_proplist_gets (l, PA_PROP_MEDIA_ROLE))) {
+ if (g_str_equal (t, "event"))
+ is_event_stream = TRUE;
+ }
+
+ gvc_mixer_stream_set_is_event_stream (stream, is_event_stream);
+}
+
+static void
+set_application_id_from_proplist (GvcMixerStream *stream,
+ pa_proplist *l)
+{
+ const char *t;
+
+ if ((t = pa_proplist_gets (l, PA_PROP_APPLICATION_ID))) {
+ gvc_mixer_stream_set_application_id (stream, t);
+ }
+}
+
+static void
+update_sink_input (GvcMixerControl *control,
+ const pa_sink_input_info *info)
+{
+ GvcMixerStream *stream;
+ gboolean is_new;
+ pa_volume_t max_volume;
+ const char *name;
+
+#if 0
+ g_debug ("Updating sink input: index=%u name='%s' client=%u sink=%u",
+ info->index,
+ info->name,
+ info->client,
+ info->sink);
+#endif
+
+ is_new = FALSE;
+
+ stream = g_hash_table_lookup (control->priv->sink_inputs,
+ GUINT_TO_POINTER (info->index));
+ if (stream == NULL) {
+ GvcChannelMap *map;
+ map = gvc_channel_map_new_from_pa_channel_map (&info->channel_map);
+ stream = gvc_mixer_sink_input_new (control->priv->pa_context,
+ info->index,
+ map);
+ g_object_unref (map);
+ is_new = TRUE;
+ } else if (gvc_mixer_stream_is_running (stream)) {
+ /* Ignore events if volume changes are outstanding */
+ g_debug ("Ignoring event, volume changes are outstanding");
+ return;
+ }
+
+ max_volume = pa_cvolume_max (&info->volume);
+
+ name = (const char *)g_hash_table_lookup (control->priv->clients,
+ GUINT_TO_POINTER (info->client));
+ gvc_mixer_stream_set_name (stream, name);
+ gvc_mixer_stream_set_description (stream, info->name);
+
+ set_application_id_from_proplist (stream, info->proplist);
+ set_is_event_stream_from_proplist (stream, info->proplist);
+ set_icon_name_from_proplist (stream, info->proplist, "application-x-executable");
+ gvc_mixer_stream_set_volume (stream, (guint)max_volume);
+ gvc_mixer_stream_set_is_muted (stream, info->mute);
+ gvc_mixer_stream_set_is_virtual (stream, info->client == PA_INVALID_INDEX);
+
+ if (is_new) {
+ g_hash_table_insert (control->priv->sink_inputs,
+ GUINT_TO_POINTER (info->index),
+ g_object_ref (stream));
+ add_stream (control, stream);
+ } else {
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_CHANGED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+ }
+}
+
+static void
+update_source_output (GvcMixerControl *control,
+ const pa_source_output_info *info)
+{
+ GvcMixerStream *stream;
+ gboolean is_new;
+ pa_volume_t max_volume;
+ const char *name;
+
+#if 1
+ g_debug ("Updating source output: index=%u name='%s' client=%u source=%u",
+ info->index,
+ info->name,
+ info->client,
+ info->source);
+#endif
+
+ is_new = FALSE;
+ stream = g_hash_table_lookup (control->priv->source_outputs,
+ GUINT_TO_POINTER (info->index));
+ if (stream == NULL) {
+ GvcChannelMap *map;
+ map = gvc_channel_map_new_from_pa_channel_map (&info->channel_map);
+ stream = gvc_mixer_source_output_new (control->priv->pa_context,
+ info->index,
+ map);
+ g_object_unref (map);
+ is_new = TRUE;
+ }
+
+ name = (const char *)g_hash_table_lookup (control->priv->clients,
+ GUINT_TO_POINTER (info->client));
+
+ max_volume = pa_cvolume_max (&info->volume);
+
+ gvc_mixer_stream_set_name (stream, name);
+ gvc_mixer_stream_set_description (stream, info->name);
+ set_application_id_from_proplist (stream, info->proplist);
+ set_is_event_stream_from_proplist (stream, info->proplist);
+ gvc_mixer_stream_set_volume (stream, (guint)max_volume);
+ gvc_mixer_stream_set_is_muted (stream, info->mute);
+ set_icon_name_from_proplist (stream, info->proplist, "audio-input-microphone");
+
+ if (is_new) {
+ g_hash_table_insert (control->priv->source_outputs,
+ GUINT_TO_POINTER (info->index),
+ g_object_ref (stream));
+ add_stream (control, stream);
+ } else {
+ g_signal_emit (G_OBJECT (control),
+ signals[STREAM_CHANGED],
+ 0,
+ gvc_mixer_stream_get_id (stream));
+ }
+}
+
+static void
+update_client (GvcMixerControl *control,
+ const pa_client_info *info)
+{
+#if 1
+ g_debug ("Updating client: index=%u name='%s'",
+ info->index,
+ info->name);
+#endif
+ g_hash_table_insert (control->priv->clients,
+ GUINT_TO_POINTER (info->index),
+ g_strdup (info->name));
+}
+
+static char *
+card_num_streams_to_status (guint sinks,
+ guint sources)
+{
+ char *sinks_str;
+ char *sources_str;
+ char *ret;
+
+ if (sinks == 0 && sources == 0) {
+ /* translators:
+ * The device has been disabled */
+ return g_strdup (_("Disabled"));
+ }
+ if (sinks == 0) {
+ sinks_str = NULL;
+ } else {
+ /* translators:
+ * The number of sound outputs on a particular device */
+ sinks_str = g_strdup_printf (ngettext ("%u Output",
+ "%u Outputs",
+ sinks),
+ sinks);
+ }
+ if (sources == 0) {
+ sources_str = NULL;
+ } else {
+ /* translators:
+ * The number of sound inputs on a particular device */
+ sources_str = g_strdup_printf (ngettext ("%u Input",
+ "%u Inputs",
+ sources),
+ sources);
+ }
+ if (sources_str == NULL)
+ return sinks_str;
+ if (sinks_str == NULL)
+ return sources_str;
+ ret = g_strdup_printf ("%s / %s", sinks_str, sources_str);
+ g_free (sinks_str);
+ g_free (sources_str);
+ return ret;
+}
+
+/*
+ * A utility method to gather which card profiles are relevant to the port .
+ */
+static GList *
+determine_profiles_for_port (pa_card_port_info *port,
+ const GList *card_profiles)
+{
+ guint i;
+ GList *supported_profiles = NULL;
+ const GList *p;
+ for (i = 0; i < port->n_profiles; i++) {
+ for (p = card_profiles; p != NULL; p = p->next) {
+ GvcMixerCardProfile *prof;
+ prof = p->data;
+ if (g_strcmp0 (port->profiles[i]->name, prof->profile) == 0)
+ supported_profiles = g_list_append (supported_profiles, prof);
+ }
+ }
+ g_debug ("%i profiles supported on port %s / %s",
+ g_list_length (supported_profiles),
+ port->description, port->name);
+ return g_list_sort (supported_profiles, (GCompareFunc) gvc_mixer_card_profile_compare);
+}
+
+static gboolean
+is_card_port_an_output (GvcMixerCardPort* port)
+{
+ return port->direction == PA_DIRECTION_OUTPUT ? TRUE : FALSE;
+}
+
+/*
+ * This method will create a ui device for the given port.
+ */
+static void
+update_ui_device_on_port_added (GvcMixerControl *control,
+ GvcMixerCardPort *port,
+ GvcMixerCard *card)
+{
+ GvcMixerUIDeviceDirection direction;
+ GObject *object;
+ GvcMixerUIDevice *uidevice;
+ gboolean available = port->available != PA_PORT_AVAILABLE_NO;
+
+ direction = (is_card_port_an_output (port) == TRUE) ? UIDeviceOutput : UIDeviceInput;
+
+ object = g_object_new (GVC_TYPE_MIXER_UI_DEVICE,
+ "type", (guint)direction,
+ "card", card,
+ "port-name", port->port,
+ "description", port->human_port,
+ "origin", gvc_mixer_card_get_name (card),
+ "port-available", available,
+ "icon-name", port->icon_name,
+ NULL);
+
+ uidevice = GVC_MIXER_UI_DEVICE (object);
+ gvc_mixer_ui_device_set_profiles (uidevice, port->profiles);
+
+ g_hash_table_insert (is_card_port_an_output (port) ? control->priv->ui_outputs : control->priv->ui_inputs,
+ GUINT_TO_POINTER (gvc_mixer_ui_device_get_id (uidevice)),
+ uidevice);
+
+
+ if (available) {
+ g_signal_emit (G_OBJECT (control),
+ signals[is_card_port_an_output (port) ? OUTPUT_ADDED : INPUT_ADDED],
+ 0,
+ gvc_mixer_ui_device_get_id (uidevice));
+ }
+
+ g_debug ("update_ui_device_on_port_added, direction %u, description '%s', origin '%s', port available %i",
+ direction,
+ port->human_port,
+ gvc_mixer_card_get_name (card),
+ available);
+}
+
+static void
+update_ui_device_on_port_changed (GvcMixerControl *control,
+ GvcMixerCardPort *card_port,
+ pa_card_port_info *new_port_info,
+ GvcMixerCard *card)
+{
+ GList *d;
+ GList *devices;
+ GvcMixerUIDevice *device;
+ gboolean is_output = is_card_port_an_output (card_port);
+
+ devices = g_hash_table_get_values (is_output ? control->priv->ui_outputs : control->priv->ui_inputs);
+
+ for (d = devices; d != NULL; d = d->next) {
+ GvcMixerCard *device_card;
+ gchar *device_port_name;
+
+ device = d->data;
+ g_object_get (G_OBJECT (device),
+ "card", &device_card,
+ "port-name", &device_port_name,
+ NULL);
+
+ if (g_strcmp0 (card_port->port, device_port_name) == 0 &&
+ device_card == card) {
+ gboolean was_available;
+ gboolean is_available;
+ const GList *card_profiles = gvc_mixer_card_get_profiles (card);
+
+ was_available = card_port->available != PA_PORT_AVAILABLE_NO;
+ is_available = new_port_info->available != PA_PORT_AVAILABLE_NO;
+
+ g_debug ("Found the relevant device %s, update its port availability flag to %i, is_output %i",
+ device_port_name,
+ is_available,
+ is_output);
+
+ card_port->available = new_port_info->available;
+
+ g_list_free (card_port->profiles);
+ card_port->profiles = determine_profiles_for_port (new_port_info, card_profiles);
+
+ gvc_mixer_ui_device_set_profiles (device, card_port->profiles);
+
+ if (is_available != was_available) {
+ g_object_set (G_OBJECT (device),
+ "port-available", is_available, NULL);
+ g_signal_emit (G_OBJECT (control),
+ is_output ? signals[is_available ? OUTPUT_ADDED : OUTPUT_REMOVED]
+ : signals[is_available ? INPUT_ADDED : INPUT_REMOVED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+ }
+ }
+ g_free (device_port_name);
+ }
+
+ g_list_free (devices);
+}
+
+static void
+maybe_remove_ui_device (GvcMixerControl *control,
+ GvcMixerUIDevice *device)
+{
+ /* We add UIDevices for ports or for streams, so remove them if the device now
+ * has neither.
+ */
+ if (gvc_mixer_ui_device_get_stream_id (device) == GVC_MIXER_UI_DEVICE_INVALID &&
+ !gvc_mixer_ui_device_has_ports (device)) {
+ gboolean is_output = gvc_mixer_ui_device_is_output (device);
+
+ g_debug ("Removing UIDevice %s",
+ gvc_mixer_ui_device_get_description (device));
+
+ g_hash_table_remove (is_output ? control->priv->ui_outputs : control->priv->ui_inputs,
+ GUINT_TO_POINTER (gvc_mixer_ui_device_get_id (device)));
+ }
+}
+
+static void
+update_ui_device_on_port_removed (GvcMixerControl *control,
+ GvcMixerCardPort *card_port,
+ GvcMixerCard *card)
+{
+ GList *d;
+ GList *devices;
+ gboolean is_output = is_card_port_an_output (card_port);
+
+ devices = g_hash_table_get_values (is_output ? control->priv->ui_outputs : control->priv->ui_inputs);
+ for (d = devices; d != NULL; d = d->next) {
+ GvcMixerUIDevice *device = d->data;
+ GvcMixerCard *device_card;
+ gchar *device_port_name;
+
+ g_object_get (G_OBJECT (device),
+ "card", &device_card,
+ "port-name", &device_port_name,
+ NULL);
+
+ if (g_strcmp0 (card_port->port, device_port_name) == 0 && device_card == card) {
+ g_object_set (G_OBJECT (device),
+ "card", NULL,
+ "port-name", NULL,
+ NULL);
+
+ g_signal_emit (G_OBJECT (control),
+ signals[is_output ? OUTPUT_REMOVED : INPUT_REMOVED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+
+ maybe_remove_ui_device (control, device);
+ }
+
+ g_free (device_port_name);
+ }
+
+ g_list_free (devices);
+}
+
+#ifdef HAVE_ALSA
+typedef struct {
+ char *port_name_to_set;
+ guint32 headset_card;
+} PortStatusData;
+
+static void
+port_status_data_free (PortStatusData *data)
+{
+ if (data == NULL)
+ return;
+ g_free (data->port_name_to_set);
+ g_free (data);
+}
+
+/*
+ We need to re-enumerate sources and sinks every time the user makes a choice,
+ because they can change due to use interaction in other software (or policy
+ changes inside PulseAudio). Enumeration means PulseAudio will do a series of
+ callbacks, one for every source/sink.
+ Set the port when we find the correct source/sink.
+ */
+
+static void
+sink_info_cb (pa_context *c,
+ const pa_sink_info *i,
+ int eol,
+ void *userdata)
+{
+ PortStatusData *data = userdata;
+ pa_operation *o;
+ guint j;
+ const char *s;
+
+ if (eol != 0) {
+ port_status_data_free (data);
+ return;
+ }
+
+ if (i->card != data->headset_card)
+ return;
+
+ s = data->port_name_to_set;
+
+ if (i->active_port &&
+ strcmp (i->active_port->name, s) == 0)
+ return;
+
+ for (j = 0; j < i->n_ports; j++)
+ if (strcmp (i->ports[j]->name, s) == 0)
+ break;
+
+ if (j >= i->n_ports)
+ return;
+
+ o = pa_context_set_sink_port_by_index (c, i->index, s, NULL, NULL);
+ g_clear_pointer (&o, pa_operation_unref);
+}
+
+static void
+source_info_cb (pa_context *c,
+ const pa_source_info *i,
+ int eol,
+ void *userdata)
+{
+ PortStatusData *data = userdata;
+ pa_operation *o;
+ guint j;
+ const char *s;
+
+ if (eol != 0) {
+ port_status_data_free (data);
+ return;
+ }
+
+ if (i->card != data->headset_card)
+ return;
+
+ s = data->port_name_to_set;
+
+ for (j = 0; j < i->n_ports; j++) {
+ if (g_str_equal (i->ports[j]->name, s)) {
+ o = pa_context_set_default_source (c,
+ i->name,
+ NULL,
+ NULL);
+ if (o == NULL) {
+ g_warning ("pa_context_set_default_source() failed");
+ return;
+ }
+ }
+ }
+
+ if (i->active_port && strcmp (i->active_port->name, s) == 0)
+ return;
+
+ for (j = 0; j < i->n_ports; j++)
+ if (strcmp (i->ports[j]->name, s) == 0)
+ break;
+
+ if (j >= i->n_ports)
+ return;
+
+ o = pa_context_set_source_port_by_index(c, i->index, s, NULL, NULL);
+ g_clear_pointer (&o, pa_operation_unref);
+}
+
+static void
+gvc_mixer_control_set_port_status_for_headset (GvcMixerControl *control,
+ guint id,
+ const char *port_name,
+ gboolean is_output)
+{
+ pa_operation *o;
+ PortStatusData *data;
+
+ if (port_name == NULL)
+ return;
+
+ data = g_new0 (PortStatusData, 1);
+ data->port_name_to_set = g_strdup (port_name);
+ data->headset_card = id;
+
+ if (is_output)
+ o = pa_context_get_sink_info_list (control->priv->pa_context, sink_info_cb, data);
+ else
+ o = pa_context_get_source_info_list (control->priv->pa_context, source_info_cb, data);
+
+ g_clear_pointer (&o, pa_operation_unref);
+}
+#endif /* HAVE_ALSA */
+
+static void
+free_priv_port_names (GvcMixerControl *control)
+{
+#ifdef HAVE_ALSA
+ g_clear_pointer (&control->priv->headphones_name, g_free);
+ g_clear_pointer (&control->priv->headsetmic_name, g_free);
+ g_clear_pointer (&control->priv->headphonemic_name, g_free);
+ g_clear_pointer (&control->priv->internalspk_name, g_free);
+ g_clear_pointer (&control->priv->internalmic_name, g_free);
+#endif
+}
+
+void
+gvc_mixer_control_set_headset_port (GvcMixerControl *control,
+ guint id,
+ GvcHeadsetPortChoice choice)
+{
+ g_return_if_fail (GVC_IS_MIXER_CONTROL (control));
+
+#ifdef HAVE_ALSA
+ switch (choice) {
+ case GVC_HEADSET_PORT_CHOICE_HEADPHONES:
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->headphones_name, TRUE);
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->internalmic_name, FALSE);
+ break;
+ case GVC_HEADSET_PORT_CHOICE_HEADSET:
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->headphones_name, TRUE);
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->headsetmic_name, FALSE);
+ break;
+ case GVC_HEADSET_PORT_CHOICE_MIC:
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->internalspk_name, TRUE);
+ gvc_mixer_control_set_port_status_for_headset (control, id, control->priv->headphonemic_name, FALSE);
+ break;
+ case GVC_HEADSET_PORT_CHOICE_NONE:
+ default:
+ g_assert_not_reached ();
+ }
+#else
+ g_warning ("BUG: libgnome-volume-control compiled without ALSA support");
+#endif /* HAVE_ALSA */
+}
+
+#ifdef HAVE_ALSA
+typedef struct {
+ const pa_card_port_info *headphones;
+ const pa_card_port_info *headsetmic;
+ const pa_card_port_info *headphonemic;
+ const pa_card_port_info *internalmic;
+ const pa_card_port_info *internalspk;
+} headset_ports;
+
+/*
+ In PulseAudio without ucm, ports will show up with the following names:
+ Headphones - analog-output-headphones
+ Headset mic - analog-input-headset-mic (was: analog-input-microphone-headset)
+ Jack in mic-in mode - analog-input-headphone-mic (was: analog-input-microphone)
+
+ However, since regular mics also show up as analog-input-microphone,
+ we need to check for certain controls on alsa mixer level too, to know
+ if we deal with a separate mic jack, or a multi-function jack with a
+ mic-in mode (also called "headphone mic").
+ We check for the following names:
+
+ Headphone Mic Jack - indicates headphone and mic-in mode share the same jack,
+ i e, not two separate jacks. Hardware cannot distinguish between a
+ headphone and a mic.
+ Headset Mic Phantom Jack - indicates headset jack where hardware can not
+ distinguish between headphones and headsets
+ Headset Mic Jack - indicates headset jack where hardware can distinguish
+ between headphones and headsets. There is no use popping up a dialog in
+ this case, unless we already need to do this for the mic-in mode.
+
+ From the PA_PROCOTOL_VERSION=34, The device_port structure adds 2 members
+ availability_group and type, with the help of these 2 members, we could
+ consolidate the port checking and port setting for non-ucm and with-ucm
+ cases.
+*/
+
+#define HEADSET_PORT_SET(dst, src) \
+ do { \
+ if (!(dst) || (dst)->priority < (src)->priority) \
+ dst = src; \
+ } while (0)
+
+#define GET_PORT_NAME(x) (x ? g_strdup (x->name) : NULL)
+
+static headset_ports *
+get_headset_ports (GvcMixerControl *control,
+ const pa_card_info *c)
+{
+ headset_ports *h;
+ guint i;
+
+ h = g_new0 (headset_ports, 1);
+
+ for (i = 0; i < c->n_ports; i++) {
+ pa_card_port_info *p = c->ports[i];
+ if (control->priv->server_protocol_version < 34) {
+ if (g_str_equal (p->name, "analog-output-headphones"))
+ h->headphones = p;
+ else if (g_str_equal (p->name, "analog-input-headset-mic"))
+ h->headsetmic = p;
+ else if (g_str_equal (p->name, "analog-input-headphone-mic"))
+ h->headphonemic = p;
+ else if (g_str_equal (p->name, "analog-input-internal-mic"))
+ h->internalmic = p;
+ else if (g_str_equal (p->name, "analog-output-speaker"))
+ h->internalspk = p;
+ } else {
+#if (PA_PROTOCOL_VERSION >= 34)
+ /* in the first loop, set only headphones */
+ /* the microphone ports are assigned in the second loop */
+ if (p->type == PA_DEVICE_PORT_TYPE_HEADPHONES) {
+ if (p->availability_group)
+ HEADSET_PORT_SET (h->headphones, p);
+ } else if (p->type == PA_DEVICE_PORT_TYPE_SPEAKER) {
+ HEADSET_PORT_SET (h->internalspk, p);
+ } else if (p->type == PA_DEVICE_PORT_TYPE_MIC) {
+ if (!p->availability_group)
+ HEADSET_PORT_SET (h->internalmic, p);
+ }
+#else
+ g_warning_once ("libgnome-volume-control running against PulseAudio %u, "
+ "but compiled against older %d, report a bug to your distribution",
+ control->priv->server_protocol_version,
+ PA_PROTOCOL_VERSION);
+#endif
+ }
+ }
+
+#if (PA_PROTOCOL_VERSION >= 34)
+ if (h->headphones && (control->priv->server_protocol_version >= 34)) {
+ for (i = 0; i < c->n_ports; i++) {
+ pa_card_port_info *p = c->ports[i];
+ if (g_strcmp0(h->headphones->availability_group, p->availability_group))
+ continue;
+ if (p->direction != PA_DIRECTION_INPUT)
+ continue;
+ if (p->type == PA_DEVICE_PORT_TYPE_HEADSET)
+ HEADSET_PORT_SET (h->headsetmic, p);
+ else if (p->type == PA_DEVICE_PORT_TYPE_MIC)
+ HEADSET_PORT_SET (h->headphonemic, p);
+ }
+ }
+#endif
+
+ return h;
+}
+
+static gboolean
+verify_alsa_card (int cardindex,
+ gboolean *headsetmic,
+ gboolean *headphonemic)
+{
+ char *ctlstr;
+ snd_hctl_t *hctl;
+ snd_ctl_elem_id_t *id;
+ int err;
+
+ *headsetmic = FALSE;
+ *headphonemic = FALSE;
+
+ ctlstr = g_strdup_printf ("hw:%i", cardindex);
+ if ((err = snd_hctl_open (&hctl, ctlstr, 0)) < 0) {
+ g_warning ("snd_hctl_open failed: %s", snd_strerror(err));
+ g_free (ctlstr);
+ return FALSE;
+ }
+ g_free (ctlstr);
+
+ if ((err = snd_hctl_load (hctl)) < 0) {
+ g_warning ("snd_hctl_load failed: %s", snd_strerror(err));
+ snd_hctl_close (hctl);
+ return FALSE;
+ }
+
+ snd_ctl_elem_id_alloca (&id);
+
+ snd_ctl_elem_id_clear (id);
+ snd_ctl_elem_id_set_interface (id, SND_CTL_ELEM_IFACE_CARD);
+ snd_ctl_elem_id_set_name (id, "Headphone Mic Jack");
+ if (snd_hctl_find_elem (hctl, id))
+ *headphonemic = TRUE;
+
+ snd_ctl_elem_id_clear (id);
+ snd_ctl_elem_id_set_interface (id, SND_CTL_ELEM_IFACE_CARD);
+ snd_ctl_elem_id_set_name (id, "Headset Mic Phantom Jack");
+ if (snd_hctl_find_elem (hctl, id))
+ *headsetmic = TRUE;
+
+ if (*headphonemic) {
+ snd_ctl_elem_id_clear (id);
+ snd_ctl_elem_id_set_interface (id, SND_CTL_ELEM_IFACE_CARD);
+ snd_ctl_elem_id_set_name (id, "Headset Mic Jack");
+ if (snd_hctl_find_elem (hctl, id))
+ *headsetmic = TRUE;
+ }
+
+ snd_hctl_close (hctl);
+ return *headsetmic || *headphonemic;
+}
+
+static void
+check_audio_device_selection_needed (GvcMixerControl *control,
+ const pa_card_info *info)
+{
+ headset_ports *h;
+ gboolean start_dialog, stop_dialog;
+
+ start_dialog = FALSE;
+ stop_dialog = FALSE;
+ h = get_headset_ports (control, info);
+
+ if (!h->headphones ||
+ (!h->headsetmic && !h->headphonemic)) {
+ /* Not a headset jack */
+ goto out;
+ }
+
+ if (control->priv->headset_card != (int) info->index) {
+ int cardindex;
+ gboolean hsmic = TRUE;
+ gboolean hpmic = TRUE;
+ const char *s;
+
+ s = pa_proplist_gets (info->proplist, "alsa.card");
+ if (!s)
+ goto out;
+
+ cardindex = strtol (s, NULL, 10);
+ if (cardindex == 0 && strcmp(s, "0") != 0)
+ goto out;
+
+ if (control->priv->server_protocol_version < 34) {
+ if (!verify_alsa_card(cardindex, &hsmic, &hpmic))
+ goto out;
+ }
+
+ control->priv->headset_card = info->index;
+ control->priv->has_headsetmic = hsmic && h->headsetmic;
+ control->priv->has_headphonemic = hpmic && h->headphonemic;
+ } else {
+ start_dialog = (h->headphones->available != PA_PORT_AVAILABLE_NO) && !control->priv->headset_plugged_in;
+ stop_dialog = (h->headphones->available == PA_PORT_AVAILABLE_NO) && control->priv->headset_plugged_in;
+ }
+
+ control->priv->headset_plugged_in = h->headphones->available != PA_PORT_AVAILABLE_NO;
+ free_priv_port_names (control);
+ control->priv->headphones_name = GET_PORT_NAME(h->headphones);
+ control->priv->headsetmic_name = GET_PORT_NAME(h->headsetmic);
+ control->priv->headphonemic_name = GET_PORT_NAME(h->headphonemic);
+ control->priv->internalspk_name = GET_PORT_NAME(h->internalspk);
+ control->priv->internalmic_name = GET_PORT_NAME(h->internalmic);
+
+ if (!start_dialog &&
+ !stop_dialog)
+ goto out;
+
+ if (stop_dialog) {
+ g_signal_emit (G_OBJECT (control),
+ signals[AUDIO_DEVICE_SELECTION_NEEDED],
+ 0,
+ info->index,
+ FALSE,
+ GVC_HEADSET_PORT_CHOICE_NONE);
+ } else {
+ GvcHeadsetPortChoice choices;
+
+ choices = GVC_HEADSET_PORT_CHOICE_HEADPHONES;
+ if (control->priv->has_headsetmic)
+ choices |= GVC_HEADSET_PORT_CHOICE_HEADSET;
+ if (control->priv->has_headphonemic)
+ choices |= GVC_HEADSET_PORT_CHOICE_MIC;
+
+ g_signal_emit (G_OBJECT (control),
+ signals[AUDIO_DEVICE_SELECTION_NEEDED],
+ 0,
+ info->index,
+ TRUE,
+ choices);
+ }
+
+out:
+ g_free (h);
+}
+#endif /* HAVE_ALSA */
+
+/*
+ * At this point we can determine all devices available to us (besides network 'ports')
+ * This is done by the following:
+ *
+ * - gvc_mixer_card and gvc_mixer_card_ports are created and relevant setters are called.
+ * - If it's a 'normal' card with ports it will create a new ui-device or
+ * synchronise port availability with the existing device cached for that port on this card. */
+
+static void
+update_card (GvcMixerControl *control,
+ const pa_card_info *info)
+{
+ const GList *m = NULL;
+ GvcMixerCard *card;
+ gboolean is_new = FALSE;
+ GList *profile_list = NULL;
+ GList *old_ports;
+#if 1
+ guint i;
+ const char *key;
+ void *state;
+
+ g_debug ("Updating card %s (index: %u driver: %s):",
+ info->name, info->index, info->driver);
+
+ for (i = 0; i < info->n_profiles; i++) {
+ struct pa_card_profile_info pi = info->profiles[i];
+ gboolean is_default;
+
+ is_default = (g_strcmp0 (pi.name, info->active_profile->name) == 0);
+ g_debug ("\tProfile '%s': %d sources %d sinks%s",
+ pi.name, pi.n_sources, pi.n_sinks,
+ is_default ? " (Current)" : "");
+ }
+ state = NULL;
+ key = pa_proplist_iterate (info->proplist, &state);
+ while (key != NULL) {
+ g_debug ("\tProperty: '%s' = '%s'",
+ key, pa_proplist_gets (info->proplist, key));
+ key = pa_proplist_iterate (info->proplist, &state);
+ }
+#endif
+ card = g_hash_table_lookup (control->priv->cards,
+ GUINT_TO_POINTER (info->index));
+ if (card == NULL) {
+ card = gvc_mixer_card_new (control->priv->pa_context,
+ info->index);
+ is_new = TRUE;
+ }
+
+ for (i = 0; i < info->n_profiles; i++) {
+ GvcMixerCardProfile *profile;
+ struct pa_card_profile_info pi = info->profiles[i];
+
+ profile = g_new0 (GvcMixerCardProfile, 1);
+ profile->profile = g_strdup (pi.name);
+ profile->human_profile = g_strdup (pi.description);
+ profile->status = card_num_streams_to_status (pi.n_sinks, pi.n_sources);
+ profile->n_sinks = pi.n_sinks;
+ profile->n_sources = pi.n_sources;
+ profile->priority = pi.priority;
+ profile_list = g_list_prepend (profile_list, profile);
+ }
+
+ gvc_mixer_card_set_profiles (card, profile_list);
+ gvc_mixer_card_set_name (card, pa_proplist_gets (info->proplist, "device.description"));
+ gvc_mixer_card_set_icon_name (card, pa_proplist_gets (info->proplist, "device.icon_name"));
+ gvc_mixer_card_set_profile (card, info->active_profile->name);
+
+ if (is_new) {
+ g_hash_table_insert (control->priv->cards,
+ GUINT_TO_POINTER (info->index),
+ card);
+ }
+
+ old_ports = g_list_copy ((GList *)gvc_mixer_card_get_ports (card));
+ for (m = old_ports; m; m = m->next) {
+ GvcMixerCardPort *card_port = m->data;
+ gboolean found = FALSE;
+
+ for (i = 0; i < info->n_ports; i++) {
+ pa_card_port_info *port = info->ports[i];
+
+ if (g_strcmp0 (card_port->port, port->name) == 0)
+ found = TRUE;
+ }
+
+ if (!found) {
+ update_ui_device_on_port_removed (control, card_port, card);
+ gvc_mixer_card_remove_port (card, card_port);
+ }
+ }
+ g_clear_pointer (&old_ports, g_list_free);
+
+ for (i = 0; i < info->n_ports; i++) {
+ pa_card_port_info *port = info->ports[i];
+ gboolean found = FALSE;
+
+ for (m = gvc_mixer_card_get_ports (card); m; m = m->next) {
+ GvcMixerCardPort *card_port = m->data;
+
+ if (g_strcmp0 (card_port->port, port->name) == 0) {
+ found = TRUE;
+ update_ui_device_on_port_changed (control, card_port, port, card);
+ }
+ }
+
+ if (!found) {
+ GvcMixerCardPort *card_port;
+
+ card_port = g_new0 (GvcMixerCardPort, 1);
+ card_port->port = g_strdup (port->name);
+ card_port->human_port = g_strdup (port->description);
+ card_port->priority = port->priority;
+ card_port->available = port->available;
+ card_port->direction = port->direction;
+ card_port->icon_name = g_strdup (pa_proplist_gets (port->proplist, "device.icon_name"));
+ card_port->profiles = determine_profiles_for_port (port, profile_list);
+
+ gvc_mixer_card_add_port (card, card_port);
+ update_ui_device_on_port_added (control, card_port, card);
+ }
+ }
+
+#ifdef HAVE_ALSA
+ check_audio_device_selection_needed (control, info);
+#endif /* HAVE_ALSA */
+
+ g_signal_emit (G_OBJECT (control),
+ signals[CARD_ADDED],
+ 0,
+ info->index);
+}
+
+static void
+_pa_context_get_sink_info_cb (pa_context *context,
+ const pa_sink_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY) {
+ return;
+ }
+
+ g_warning ("Sink callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_sink (control, i);
+}
+
+static void
+_pa_context_get_source_info_cb (pa_context *context,
+ const pa_source_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY) {
+ return;
+ }
+
+ g_warning ("Source callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_source (control, i);
+}
+
+static void
+_pa_context_get_sink_input_info_cb (pa_context *context,
+ const pa_sink_input_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY) {
+ return;
+ }
+
+ g_warning ("Sink input callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_sink_input (control, i);
+}
+
+static void
+_pa_context_get_source_output_info_cb (pa_context *context,
+ const pa_source_output_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY) {
+ return;
+ }
+
+ g_warning ("Source output callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_source_output (control, i);
+}
+
+static void
+_pa_context_get_client_info_cb (pa_context *context,
+ const pa_client_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY) {
+ return;
+ }
+
+ g_warning ("Client callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_client (control, i);
+}
+
+static void
+_pa_context_get_card_info_by_index_cb (pa_context *context,
+ const pa_card_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ if (pa_context_errno (context) == PA_ERR_NOENTITY)
+ return;
+
+ g_warning ("Card callback failure");
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ return;
+ }
+
+ update_card (control, i);
+}
+
+static void
+_pa_context_get_server_info_cb (pa_context *context,
+ const pa_server_info *i,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (i == NULL) {
+ g_warning ("Server info callback failure");
+ return;
+ }
+ g_debug ("get server info");
+ update_server (control, i);
+ dec_outstanding (control);
+}
+
+static void
+remove_event_role_stream (GvcMixerControl *control)
+{
+ g_debug ("Removing event role");
+}
+
+static void
+update_event_role_stream (GvcMixerControl *control,
+ const pa_ext_stream_restore_info *info)
+{
+ GvcMixerStream *stream;
+ gboolean is_new;
+ pa_volume_t max_volume;
+
+ if (strcmp (info->name, "sink-input-by-media-role:event") != 0) {
+ return;
+ }
+
+#if 0
+ g_debug ("Updating event role: name='%s' device='%s'",
+ info->name,
+ info->device);
+#endif
+
+ is_new = FALSE;
+
+ if (!control->priv->event_sink_input_is_set) {
+ pa_channel_map pa_map;
+ GvcChannelMap *map;
+
+ pa_map.channels = 1;
+ pa_map.map[0] = PA_CHANNEL_POSITION_MONO;
+ map = gvc_channel_map_new_from_pa_channel_map (&pa_map);
+
+ stream = gvc_mixer_event_role_new (control->priv->pa_context,
+ info->device,
+ map);
+ control->priv->event_sink_input_id = gvc_mixer_stream_get_id (stream);
+ control->priv->event_sink_input_is_set = TRUE;
+
+ is_new = TRUE;
+ } else {
+ stream = g_hash_table_lookup (control->priv->all_streams,
+ GUINT_TO_POINTER (control->priv->event_sink_input_id));
+ }
+
+ /* 0 channels here means there is no valid volume in
+ * pa_ext_stream_restore_info() and in the saved stream entry of
+ * module-stream-restore in PulseAudio. */
+ if (info->volume.channels == 0)
+ max_volume = PA_VOLUME_NORM;
+ else
+ max_volume = pa_cvolume_max (&info->volume);
+
+ gvc_mixer_stream_set_name (stream, _("System Sounds"));
+ gvc_mixer_stream_set_icon_name (stream, "audio-x-generic");
+ gvc_mixer_stream_set_volume (stream, (guint)max_volume);
+ gvc_mixer_stream_set_is_muted (stream, info->mute);
+
+ if (is_new) {
+ add_stream (control, stream);
+ }
+}
+
+static void
+_pa_ext_stream_restore_read_cb (pa_context *context,
+ const pa_ext_stream_restore_info *i,
+ int eol,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ if (eol < 0) {
+ g_debug ("Failed to initialized stream_restore extension: %s",
+ pa_strerror (pa_context_errno (context)));
+ remove_event_role_stream (control);
+ return;
+ }
+
+ if (eol > 0) {
+ dec_outstanding (control);
+ /* If we don't have an event stream to restore, then
+ * set one up with a default 100% volume */
+ if (!control->priv->event_sink_input_is_set) {
+ pa_ext_stream_restore_info info;
+
+ memset (&info, 0, sizeof(info));
+ info.name = "sink-input-by-media-role:event";
+ info.volume.channels = 1;
+ info.volume.values[0] = PA_VOLUME_NORM;
+ update_event_role_stream (control, &info);
+ }
+ return;
+ }
+
+ update_event_role_stream (control, i);
+}
+
+static void
+_pa_ext_stream_restore_subscribe_cb (pa_context *context,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+ pa_operation *o;
+
+ o = pa_ext_stream_restore_read (context,
+ _pa_ext_stream_restore_read_cb,
+ control);
+ if (o == NULL) {
+ g_warning ("pa_ext_stream_restore_read() failed");
+ return;
+ }
+
+ pa_operation_unref (o);
+}
+
+static void
+req_update_server_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ o = pa_context_get_server_info (control->priv->pa_context,
+ _pa_context_get_server_info_cb,
+ control);
+ if (o == NULL) {
+ g_warning ("pa_context_get_server_info() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_client_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_client_info_list (control->priv->pa_context,
+ _pa_context_get_client_info_cb,
+ control);
+ } else {
+ o = pa_context_get_client_info (control->priv->pa_context,
+ index,
+ _pa_context_get_client_info_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_client_info_list() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_card (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_card_info_list (control->priv->pa_context,
+ _pa_context_get_card_info_by_index_cb,
+ control);
+ } else {
+ o = pa_context_get_card_info_by_index (control->priv->pa_context,
+ index,
+ _pa_context_get_card_info_by_index_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_get_card_info_by_index() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_sink_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_sink_info_list (control->priv->pa_context,
+ _pa_context_get_sink_info_cb,
+ control);
+ } else {
+ o = pa_context_get_sink_info_by_index (control->priv->pa_context,
+ index,
+ _pa_context_get_sink_info_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_get_sink_info_list() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_source_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_source_info_list (control->priv->pa_context,
+ _pa_context_get_source_info_cb,
+ control);
+ } else {
+ o = pa_context_get_source_info_by_index(control->priv->pa_context,
+ index,
+ _pa_context_get_source_info_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_get_source_info_list() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_sink_input_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_sink_input_info_list (control->priv->pa_context,
+ _pa_context_get_sink_input_info_cb,
+ control);
+ } else {
+ o = pa_context_get_sink_input_info (control->priv->pa_context,
+ index,
+ _pa_context_get_sink_input_info_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_get_sink_input_info_list() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+req_update_source_output_info (GvcMixerControl *control,
+ int index)
+{
+ pa_operation *o;
+
+ if (index < 0) {
+ o = pa_context_get_source_output_info_list (control->priv->pa_context,
+ _pa_context_get_source_output_info_cb,
+ control);
+ } else {
+ o = pa_context_get_source_output_info (control->priv->pa_context,
+ index,
+ _pa_context_get_source_output_info_cb,
+ control);
+ }
+
+ if (o == NULL) {
+ g_warning ("pa_context_get_source_output_info_list() failed");
+ return;
+ }
+ pa_operation_unref (o);
+}
+
+static void
+remove_client (GvcMixerControl *control,
+ guint index)
+{
+ g_hash_table_remove (control->priv->clients,
+ GUINT_TO_POINTER (index));
+}
+
+static void
+remove_card (GvcMixerControl *control,
+ guint index)
+{
+
+ GList *devices, *d;
+
+ devices = g_list_concat (g_hash_table_get_values (control->priv->ui_inputs),
+ g_hash_table_get_values (control->priv->ui_outputs));
+
+ for (d = devices; d != NULL; d = d->next) {
+ GvcMixerCard *card;
+ GvcMixerUIDevice *device = d->data;
+
+ g_object_get (G_OBJECT (device), "card", &card, NULL);
+
+ if (card == NULL)
+ continue;
+
+ if (gvc_mixer_card_get_index (card) == index) {
+ g_signal_emit (G_OBJECT (control),
+ signals[gvc_mixer_ui_device_is_output (device) ? OUTPUT_REMOVED : INPUT_REMOVED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+ g_debug ("Card removal remove device %s",
+ gvc_mixer_ui_device_get_description (device));
+ g_hash_table_remove (gvc_mixer_ui_device_is_output (device) ? control->priv->ui_outputs : control->priv->ui_inputs,
+ GUINT_TO_POINTER (gvc_mixer_ui_device_get_id (device)));
+ }
+ }
+
+ g_list_free (devices);
+
+ g_hash_table_remove (control->priv->cards,
+ GUINT_TO_POINTER (index));
+
+ g_signal_emit (G_OBJECT (control),
+ signals[CARD_REMOVED],
+ 0,
+ index);
+}
+
+static void
+remove_sink (GvcMixerControl *control,
+ guint index)
+{
+ GvcMixerStream *stream;
+ GvcMixerUIDevice *device;
+
+ g_debug ("Removing sink: index=%u", index);
+
+ stream = g_hash_table_lookup (control->priv->sinks,
+ GUINT_TO_POINTER (index));
+ if (stream == NULL)
+ return;
+
+ device = gvc_mixer_control_lookup_device_from_stream (control, stream);
+
+ if (device != NULL) {
+ gvc_mixer_ui_device_invalidate_stream (device);
+ if (!gvc_mixer_ui_device_has_ports (device)) {
+ g_signal_emit (G_OBJECT (control),
+ signals[OUTPUT_REMOVED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+ } else {
+ GList *devices, *d;
+
+ devices = g_hash_table_get_values (control->priv->ui_outputs);
+
+ for (d = devices; d != NULL; d = d->next) {
+ guint stream_id = GVC_MIXER_UI_DEVICE_INVALID;
+ device = d->data;
+ g_object_get (G_OBJECT (device),
+ "stream-id", &stream_id,
+ NULL);
+ if (stream_id == gvc_mixer_stream_get_id (stream))
+ gvc_mixer_ui_device_invalidate_stream (device);
+ }
+
+ g_list_free (devices);
+ }
+ }
+
+ g_hash_table_remove (control->priv->sinks,
+ GUINT_TO_POINTER (index));
+
+ remove_stream (control, stream);
+}
+
+static void
+remove_source (GvcMixerControl *control,
+ guint index)
+{
+ GvcMixerStream *stream;
+ GvcMixerUIDevice *device;
+
+ g_debug ("Removing source: index=%u", index);
+
+ stream = g_hash_table_lookup (control->priv->sources,
+ GUINT_TO_POINTER (index));
+ if (stream == NULL)
+ return;
+
+ device = gvc_mixer_control_lookup_device_from_stream (control, stream);
+
+ if (device != NULL) {
+ gvc_mixer_ui_device_invalidate_stream (device);
+ if (!gvc_mixer_ui_device_has_ports (device)) {
+ g_signal_emit (G_OBJECT (control),
+ signals[INPUT_REMOVED],
+ 0,
+ gvc_mixer_ui_device_get_id (device));
+ } else {
+ GList *devices, *d;
+
+ devices = g_hash_table_get_values (control->priv->ui_inputs);
+
+ for (d = devices; d != NULL; d = d->next) {
+ guint stream_id = GVC_MIXER_UI_DEVICE_INVALID;
+ device = d->data;
+ g_object_get (G_OBJECT (device),
+ "stream-id", &stream_id,
+ NULL);
+ if (stream_id == gvc_mixer_stream_get_id (stream))
+ gvc_mixer_ui_device_invalidate_stream (device);
+ }
+
+ g_list_free (devices);
+ }
+ }
+
+ g_hash_table_remove (control->priv->sources,
+ GUINT_TO_POINTER (index));
+
+ remove_stream (control, stream);
+}
+
+static void
+remove_sink_input (GvcMixerControl *control,
+ guint index)
+{
+ GvcMixerStream *stream;
+
+ g_debug ("Removing sink input: index=%u", index);
+
+ stream = g_hash_table_lookup (control->priv->sink_inputs,
+ GUINT_TO_POINTER (index));
+ if (stream == NULL) {
+ return;
+ }
+ g_hash_table_remove (control->priv->sink_inputs,
+ GUINT_TO_POINTER (index));
+
+ remove_stream (control, stream);
+}
+
+static void
+remove_source_output (GvcMixerControl *control,
+ guint index)
+{
+ GvcMixerStream *stream;
+
+ g_debug ("Removing source output: index=%u", index);
+
+ stream = g_hash_table_lookup (control->priv->source_outputs,
+ GUINT_TO_POINTER (index));
+ if (stream == NULL) {
+ return;
+ }
+ g_hash_table_remove (control->priv->source_outputs,
+ GUINT_TO_POINTER (index));
+
+ remove_stream (control, stream);
+}
+
+static void
+_pa_context_subscribe_cb (pa_context *context,
+ pa_subscription_event_type_t t,
+ uint32_t index,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) {
+ case PA_SUBSCRIPTION_EVENT_SINK:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_sink (control, index);
+ } else {
+ req_update_sink_info (control, index);
+ }
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_SOURCE:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_source (control, index);
+ } else {
+ req_update_source_info (control, index);
+ }
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_SINK_INPUT:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_sink_input (control, index);
+ } else {
+ req_update_sink_input_info (control, index);
+ }
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_source_output (control, index);
+ } else {
+ req_update_source_output_info (control, index);
+ }
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_CLIENT:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_client (control, index);
+ } else {
+ req_update_client_info (control, index);
+ }
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_SERVER:
+ req_update_server_info (control, index);
+ break;
+
+ case PA_SUBSCRIPTION_EVENT_CARD:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) == PA_SUBSCRIPTION_EVENT_REMOVE) {
+ remove_card (control, index);
+ } else {
+ req_update_card (control, index);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+static void
+gvc_mixer_control_ready (GvcMixerControl *control)
+{
+ pa_operation *o;
+
+ pa_context_set_subscribe_callback (control->priv->pa_context,
+ _pa_context_subscribe_cb,
+ control);
+ o = pa_context_subscribe (control->priv->pa_context,
+ (pa_subscription_mask_t)
+ (PA_SUBSCRIPTION_MASK_SINK|
+ PA_SUBSCRIPTION_MASK_SOURCE|
+ PA_SUBSCRIPTION_MASK_SINK_INPUT|
+ PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT|
+ PA_SUBSCRIPTION_MASK_CLIENT|
+ PA_SUBSCRIPTION_MASK_SERVER|
+ PA_SUBSCRIPTION_MASK_CARD),
+ NULL,
+ NULL);
+
+ if (o == NULL) {
+ g_warning ("pa_context_subscribe() failed");
+ return;
+ }
+ pa_operation_unref (o);
+
+ req_update_server_info (control, -1);
+ req_update_card (control, -1);
+ req_update_client_info (control, -1);
+ req_update_sink_info (control, -1);
+ req_update_source_info (control, -1);
+ req_update_sink_input_info (control, -1);
+ req_update_source_output_info (control, -1);
+
+ control->priv->server_protocol_version = pa_context_get_server_protocol_version (control->priv->pa_context);
+
+ control->priv->n_outstanding = 6;
+
+ /* This call is not always supported */
+ o = pa_ext_stream_restore_read (control->priv->pa_context,
+ _pa_ext_stream_restore_read_cb,
+ control);
+ if (o != NULL) {
+ pa_operation_unref (o);
+ control->priv->n_outstanding++;
+
+ pa_ext_stream_restore_set_subscribe_cb (control->priv->pa_context,
+ _pa_ext_stream_restore_subscribe_cb,
+ control);
+
+ o = pa_ext_stream_restore_subscribe (control->priv->pa_context,
+ 1,
+ NULL,
+ NULL);
+ if (o != NULL) {
+ pa_operation_unref (o);
+ }
+
+ } else {
+ g_debug ("Failed to initialized stream_restore extension: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ }
+}
+
+static void
+gvc_mixer_new_pa_context (GvcMixerControl *self)
+{
+ pa_proplist *proplist;
+
+ g_return_if_fail (self);
+ g_return_if_fail (!self->priv->pa_context);
+
+ proplist = pa_proplist_new ();
+ pa_proplist_sets (proplist,
+ PA_PROP_APPLICATION_NAME,
+ self->priv->name);
+ pa_proplist_sets (proplist,
+ PA_PROP_APPLICATION_ID,
+ "org.gnome.VolumeControl");
+ pa_proplist_sets (proplist,
+ PA_PROP_APPLICATION_ICON_NAME,
+ "multimedia-volume-control");
+ pa_proplist_sets (proplist,
+ PA_PROP_APPLICATION_VERSION,
+ PACKAGE_VERSION);
+
+ self->priv->pa_context = pa_context_new_with_proplist (self->priv->pa_api, NULL, proplist);
+
+ pa_proplist_free (proplist);
+ g_assert (self->priv->pa_context);
+}
+
+static void
+remove_all_items (GvcMixerControl *control,
+ GHashTable *hash_table,
+ void (*remove_item)(GvcMixerControl *control, guint index))
+{
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_hash_table_iter_init (&iter, hash_table);
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
+ if (remove_item) {
+ remove_item (control, GPOINTER_TO_UINT (key));
+ g_hash_table_remove (hash_table, key);
+ g_hash_table_iter_init (&iter, hash_table);
+ } else {
+ g_hash_table_iter_remove (&iter);
+ }
+ }
+}
+
+static gboolean
+idle_reconnect (gpointer data)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (data);
+
+ g_return_val_if_fail (control, FALSE);
+
+ g_debug ("Reconnect: clean up all objects");
+
+ remove_all_items (control, control->priv->sinks, remove_sink);
+ remove_all_items (control, control->priv->sources, remove_source);
+ remove_all_items (control, control->priv->sink_inputs, remove_sink_input);
+ remove_all_items (control, control->priv->source_outputs, remove_source_output);
+ remove_all_items (control, control->priv->cards, remove_card);
+ remove_all_items (control, control->priv->ui_inputs, NULL);
+ remove_all_items (control, control->priv->ui_outputs, NULL);
+ remove_all_items (control, control->priv->clients, remove_client);
+
+ g_debug ("Reconnect: make new connection");
+
+ if (control->priv->pa_context) {
+ pa_context_unref (control->priv->pa_context);
+ control->priv->pa_context = NULL;
+ control->priv->server_protocol_version = 0;
+ gvc_mixer_new_pa_context (control);
+ }
+
+ gvc_mixer_control_open (control); /* cannot fail */
+
+ control->priv->reconnect_id = 0;
+ return FALSE;
+}
+
+static void
+_pa_context_state_cb (pa_context *context,
+ void *userdata)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (userdata);
+
+ switch (pa_context_get_state (context)) {
+ case PA_CONTEXT_UNCONNECTED:
+ case PA_CONTEXT_CONNECTING:
+ case PA_CONTEXT_AUTHORIZING:
+ case PA_CONTEXT_SETTING_NAME:
+ break;
+
+ case PA_CONTEXT_READY:
+ gvc_mixer_control_ready (control);
+ break;
+
+ case PA_CONTEXT_FAILED:
+ control->priv->state = GVC_STATE_FAILED;
+ g_signal_emit (control, signals[STATE_CHANGED], 0, GVC_STATE_FAILED);
+ if (control->priv->reconnect_id == 0)
+ control->priv->reconnect_id = g_timeout_add_seconds (RECONNECT_DELAY, idle_reconnect, control);
+ break;
+
+ case PA_CONTEXT_TERMINATED:
+ default:
+ /* FIXME: */
+ break;
+ }
+}
+
+gboolean
+gvc_mixer_control_open (GvcMixerControl *control)
+{
+ int res;
+
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
+ g_return_val_if_fail (control->priv->pa_context != NULL, FALSE);
+ g_return_val_if_fail (pa_context_get_state (control->priv->pa_context) == PA_CONTEXT_UNCONNECTED, FALSE);
+
+ pa_context_set_state_callback (control->priv->pa_context,
+ _pa_context_state_cb,
+ control);
+
+ control->priv->state = GVC_STATE_CONNECTING;
+ g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_CONNECTING);
+ res = pa_context_connect (control->priv->pa_context, NULL, (pa_context_flags_t) PA_CONTEXT_NOFAIL, NULL);
+ if (res < 0) {
+ g_warning ("Failed to connect context: %s",
+ pa_strerror (pa_context_errno (control->priv->pa_context)));
+ }
+
+ return res;
+}
+
+gboolean
+gvc_mixer_control_close (GvcMixerControl *control)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), FALSE);
+ g_return_val_if_fail (control->priv->pa_context != NULL, FALSE);
+
+ pa_context_disconnect (control->priv->pa_context);
+
+ control->priv->state = GVC_STATE_CLOSED;
+ g_signal_emit (G_OBJECT (control), signals[STATE_CHANGED], 0, GVC_STATE_CLOSED);
+ return TRUE;
+}
+
+static void
+gvc_mixer_control_dispose (GObject *object)
+{
+ GvcMixerControl *control = GVC_MIXER_CONTROL (object);
+
+ if (control->priv->reconnect_id != 0) {
+ g_source_remove (control->priv->reconnect_id);
+ control->priv->reconnect_id = 0;
+ }
+
+ if (control->priv->pa_context != NULL) {
+ pa_context_unref (control->priv->pa_context);
+ control->priv->pa_context = NULL;
+ }
+
+ if (control->priv->default_source_name != NULL) {
+ g_free (control->priv->default_source_name);
+ control->priv->default_source_name = NULL;
+ }
+ if (control->priv->default_sink_name != NULL) {
+ g_free (control->priv->default_sink_name);
+ control->priv->default_sink_name = NULL;
+ }
+
+ if (control->priv->pa_mainloop != NULL) {
+ pa_glib_mainloop_free (control->priv->pa_mainloop);
+ control->priv->pa_mainloop = NULL;
+ }
+
+ if (control->priv->all_streams != NULL) {
+ g_hash_table_destroy (control->priv->all_streams);
+ control->priv->all_streams = NULL;
+ }
+
+ if (control->priv->sinks != NULL) {
+ g_hash_table_destroy (control->priv->sinks);
+ control->priv->sinks = NULL;
+ }
+ if (control->priv->sources != NULL) {
+ g_hash_table_destroy (control->priv->sources);
+ control->priv->sources = NULL;
+ }
+ if (control->priv->sink_inputs != NULL) {
+ g_hash_table_destroy (control->priv->sink_inputs);
+ control->priv->sink_inputs = NULL;
+ }
+ if (control->priv->source_outputs != NULL) {
+ g_hash_table_destroy (control->priv->source_outputs);
+ control->priv->source_outputs = NULL;
+ }
+ if (control->priv->clients != NULL) {
+ g_hash_table_destroy (control->priv->clients);
+ control->priv->clients = NULL;
+ }
+ if (control->priv->cards != NULL) {
+ g_hash_table_destroy (control->priv->cards);
+ control->priv->cards = NULL;
+ }
+ if (control->priv->ui_outputs != NULL) {
+ g_hash_table_destroy (control->priv->ui_outputs);
+ control->priv->ui_outputs = NULL;
+ }
+ if (control->priv->ui_inputs != NULL) {
+ g_hash_table_destroy (control->priv->ui_inputs);
+ control->priv->ui_inputs = NULL;
+ }
+
+ free_priv_port_names (control);
+ G_OBJECT_CLASS (gvc_mixer_control_parent_class)->dispose (object);
+}
+
+static void
+gvc_mixer_control_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GvcMixerControl *self = GVC_MIXER_CONTROL (object);
+
+ switch (prop_id) {
+ case PROP_NAME:
+ g_free (self->priv->name);
+ self->priv->name = g_value_dup_string (value);
+ g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_NAME]);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gvc_mixer_control_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GvcMixerControl *self = GVC_MIXER_CONTROL (object);
+
+ switch (prop_id) {
+ case PROP_NAME:
+ g_value_set_string (value, self->priv->name);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+
+static GObject *
+gvc_mixer_control_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_params)
+{
+ GObject *object;
+ GvcMixerControl *self;
+
+ object = G_OBJECT_CLASS (gvc_mixer_control_parent_class)->constructor (type, n_construct_properties, construct_params);
+
+ self = GVC_MIXER_CONTROL (object);
+
+ gvc_mixer_new_pa_context (self);
+ self->priv->profile_swapping_device_id = GVC_MIXER_UI_DEVICE_INVALID;
+
+ return object;
+}
+
+static void
+gvc_mixer_control_class_init (GvcMixerControlClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->constructor = gvc_mixer_control_constructor;
+ object_class->dispose = gvc_mixer_control_dispose;
+ object_class->finalize = gvc_mixer_control_finalize;
+ object_class->set_property = gvc_mixer_control_set_property;
+ object_class->get_property = gvc_mixer_control_get_property;
+
+ obj_props[PROP_NAME] = g_param_spec_string ("name",
+ "Name",
+ "Name to display for this mixer control",
+ NULL,
+ G_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY|G_PARAM_STATIC_STRINGS);
+ g_object_class_install_properties (object_class, N_PROPS, obj_props);
+
+ signals [STATE_CHANGED] =
+ g_signal_new ("state-changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, state_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [STREAM_ADDED] =
+ g_signal_new ("stream-added",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, stream_added),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [STREAM_REMOVED] =
+ g_signal_new ("stream-removed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, stream_removed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [STREAM_CHANGED] =
+ g_signal_new ("stream-changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, stream_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [AUDIO_DEVICE_SELECTION_NEEDED] =
+ g_signal_new ("audio-device-selection-needed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_BOOLEAN, G_TYPE_UINT);
+ signals [CARD_ADDED] =
+ g_signal_new ("card-added",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, card_added),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [CARD_REMOVED] =
+ g_signal_new ("card-removed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, card_removed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [DEFAULT_SINK_CHANGED] =
+ g_signal_new ("default-sink-changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, default_sink_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [DEFAULT_SOURCE_CHANGED] =
+ g_signal_new ("default-source-changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, default_source_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [ACTIVE_OUTPUT_UPDATE] =
+ g_signal_new ("active-output-update",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, active_output_update),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [ACTIVE_INPUT_UPDATE] =
+ g_signal_new ("active-input-update",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, active_input_update),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [OUTPUT_ADDED] =
+ g_signal_new ("output-added",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, output_added),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [INPUT_ADDED] =
+ g_signal_new ("input-added",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, input_added),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [OUTPUT_REMOVED] =
+ g_signal_new ("output-removed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, output_removed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+ signals [INPUT_REMOVED] =
+ g_signal_new ("input-removed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (GvcMixerControlClass, input_removed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
+}
+
+
+static void
+gvc_mixer_control_init (GvcMixerControl *control)
+{
+ control->priv = gvc_mixer_control_get_instance_private (control);
+
+ control->priv->pa_mainloop = pa_glib_mainloop_new (g_main_context_default ());
+ g_assert (control->priv->pa_mainloop);
+
+ control->priv->pa_api = pa_glib_mainloop_get_api (control->priv->pa_mainloop);
+ g_assert (control->priv->pa_api);
+
+ control->priv->all_streams = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->sinks = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->sources = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->sink_inputs = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->source_outputs = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->cards = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->ui_outputs = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+ control->priv->ui_inputs = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_object_unref);
+
+ control->priv->clients = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify)g_free);
+
+#ifdef HAVE_ALSA
+ control->priv->headset_card = -1;
+#endif /* HAVE_ALSA */
+
+ control->priv->state = GVC_STATE_CLOSED;
+}
+
+static void
+gvc_mixer_control_finalize (GObject *object)
+{
+ GvcMixerControl *mixer_control;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (GVC_IS_MIXER_CONTROL (object));
+
+ mixer_control = GVC_MIXER_CONTROL (object);
+ g_free (mixer_control->priv->name);
+ mixer_control->priv->name = NULL;
+
+ g_return_if_fail (mixer_control->priv != NULL);
+ G_OBJECT_CLASS (gvc_mixer_control_parent_class)->finalize (object);
+}
+
+GvcMixerControl *
+gvc_mixer_control_new (const char *name)
+{
+ GObject *control;
+ control = g_object_new (GVC_TYPE_MIXER_CONTROL,
+ "name", name,
+ NULL);
+ return GVC_MIXER_CONTROL (control);
+}
+
+gdouble
+gvc_mixer_control_get_vol_max_norm (GvcMixerControl *control)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), 0);
+ return (gdouble) PA_VOLUME_NORM;
+}
+
+gdouble
+gvc_mixer_control_get_vol_max_amplified (GvcMixerControl *control)
+{
+ g_return_val_if_fail (GVC_IS_MIXER_CONTROL (control), 0);
+ return (gdouble) PA_VOLUME_UI_MAX;
+}